- Mitglied seit
- 15. Mai 2008
- Beiträge
- 21.900
- Punkte für Reaktionen
- 14
- Punkte
- 0
Man hat manchmal irgendwelche Verzeichnisse in einem Volume, z.B. /volume1/video und möchte sich eine Liste der Dateien in diesem Verzeichnis (rekursiv) anschauen. Hierfür kann das folgenden kleine PHP-Skript verwendet werden.
Voraussetzung: PHP ist aktiviert und die Restriktion 'PHP safe_mode_exec_dir' ist nicht aktiv. Desweiteren wird der IPKG-find verwendet (ipkg install findutils): schneller, besser, mehr Optionen.
Die Datei (list.php) könnte man ins Web-Verzeichnis stellen.
Aufrufen würde man das Skript im Browser so:
und das Ergebnis könnte dann so aussehen:
Das Skript kann man ausbauen! Zum einen kann man noch mehr Suchoptionen (Datum, Eigentümer, usw) einbauen - funktioniert wie beim '-name'; zum anderen kann man die Ausgabe aufbreiten: also noch Filter nachschieben z. B. zum Sortieren oder per awk zerkleinern und vielleicht eine HTML-Tabelle erzeugen.
Wer daraun herumbastelt und was Hübsche hinbekommt, muss (!!!) es hier posten
Itari
Voraussetzung: PHP ist aktiviert und die Restriktion 'PHP safe_mode_exec_dir' ist nicht aktiv. Desweiteren wird der IPKG-find verwendet (ipkg install findutils): schneller, besser, mehr Optionen.
Die Datei (list.php) könnte man ins Web-Verzeichnis stellen.
PHP:
<?php
$style = isset($_REQUEST['style']) ? ' style="font-size:'.$_REQUEST['style'].'"' : '';
$name = isset($_REQUEST['name']) ? ' -name "'.$_REQUEST['name'].'" ' : '';
$path = isset($_REQUEST['path']) ? '/volume'.$_REQUEST['path'] : '/volume1/web';
$cmd = '/opt/bin/find '.$path.$name.' -print';
print '<pre'.$style.'>';
print $cmd.'<br><br>';
exec($cmd, $out, $ret);
foreach($out as $f) print utf8_decode($f).'<br>';
?>
</pre>
Aufrufen würde man das Skript im Browser so:
Rich (BBCode):
http://IP_der_DS/list.php?path=1/video&name=*007*&style=10
und das Ergebnis könnte dann so aussehen:
Rich (BBCode):
/opt/bin/find /volume1/video_repos -name "007*" -print
/volume1/video_repos/007_Diamonds_are_forever_1971.iso
/volume1/video_repos/007_Octopussy_1983.iso
/volume1/video_repos/007_Goldfinger_1964.iso
Das Skript kann man ausbauen! Zum einen kann man noch mehr Suchoptionen (Datum, Eigentümer, usw) einbauen - funktioniert wie beim '-name'; zum anderen kann man die Ausgabe aufbreiten: also noch Filter nachschieben z. B. zum Sortieren oder per awk zerkleinern und vielleicht eine HTML-Tabelle erzeugen.
Wer daraun herumbastelt und was Hübsche hinbekommt, muss (!!!) es hier posten
Itari