scandir — Listet Dateien und Verzeichnisse innerhalb eines angegebenen Pfades auf
Irgendwie hat sich diese Function geschafft, sich vor mir eine längere Zeit zu verstecken. Erst per Zufall habe ich die entdeckt.
Sonst habe ich immer diesen, eher konservativen hack genommen, um einen Verzeichnis aufzulisten:
Seit PHP5 geht's auch mit einem Einzeiler:
In beiden Fällen haben wir einen Array gebildet, dessen Ausgabe so aussieht
Die Function «scandir» gibt bei Erfolg ein Array von Dateinamen zurück, im Fehlerfall FALSE. Wenn directory kein Verzeichnis ist, wird der boolsche Wert FALSE zurück gegeben und ein Fehler vom Type E_WARNING erzeugt.
Man kann auch eine URL als Dateinamen verwenden, falls man fopen wrappers ermöglicht hat. Eine Liste der unterstützten URL Protokolle findet man unter .
Fazit: Süßes Ding, macht aus mehr Code — weniger. Und das ist immer gut! :)
Sonst habe ich immer diesen, eher konservativen hack genommen, um einen Verzeichnis aufzulisten:
$dir = "/dein/pfad/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$files[] = $file;
}
closedir($dh);
}
}
Seit PHP5 geht's auch mit einem Einzeiler:
$files = scandir("/dein/pfad/");In beiden Fällen haben wir einen Array gebildet, dessen Ausgabe so aussieht
- print_r ($files)
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Die Function «scandir» gibt bei Erfolg ein Array von Dateinamen zurück, im Fehlerfall FALSE. Wenn directory kein Verzeichnis ist, wird der boolsche Wert FALSE zurück gegeben und ein Fehler vom Type E_WARNING erzeugt.
Man kann auch eine URL als Dateinamen verwenden, falls man fopen wrappers ermöglicht hat. Eine Liste der unterstützten URL Protokolle findet man unter .
Fazit: Süßes Ding, macht aus mehr Code — weniger. Und das ist immer gut! :)











Kommentare (0)