PHP Dokumentation: Function readdir
12. Januar 2010 von werner
readdir
(PHP 4, PHP 5)
readdir — Liest einen Eintrag aus einem Verzeichnis-Handle
Beschreibung
Gibt den Dateinamen des nächsten Files des Verzeichnisses zurück. Die Dateinamen werden in der Reihenfolge zurück gegeben, in der sie innerhalb des Filesystems angelegt wurden.
Parameter-Liste
Rückgabewerte
Gibt bei Erfolg den Dateinamen zurück. Im Fehlerfall wird FALSE zurückgegeben.
Diese Funktion kann sowohl dasboolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, wie zumBeispiel 0 oder "", der von einem einfachenif-Statement als FALSE ausgewertet wird. Weitere Informationen entnehmen Siebitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalbden === Operator,um den Rückgabewert dieser Funktion zu überprüfen.
Beispiele
Beispiel #1 Alle Dateien eines Verzeichnisses auflisten
Bitte beachten Sie die Art und Weise, in der die Rückgabewerte von readdir() in untenstehenden Beispielen geprüft werden. Wir testen explizit, ob der Rückgabewert identisch (also inhaltlich und typgleich — siehe Kapitel Vergleichs-Operatoren für weitere Informationen) zu FALSE ist, andernfalls würde jeder Verzeichnis-Eintrag, dessen Name als FALSE ausgewertet wird, das Durchlaufen der Schleife beenden (z.B. ein Verzeichnis namens "0").
<?php
// Beachten Sie, dass !== vor 4.0.0-RC2 nicht verfuegbar warif ($handle = opendir('/path/to/files')) {
echo "Directory handle: $handle\n";
echo "Files:\n";
/* Das ist der korrekte Weg, ein Verzeichnis zu durchlaufen. */
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}
/* Dies ist der FALSCHE Weg, ein Verzeichnis zu durchlaufen. */
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
}
?>Beispiel #2 Listet alle Dateien des aktuellen Verzeichnisses auf und blendet dabei . und .. aus.
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
}
?>