readdir
(PHP 4, PHP 5, PHP 7, PHP 8)
readdir — Liest einen Eintrag aus einem Verzeichnis-Handle
Beschreibung
$dir_handle
= null
): string|falseGibt den Namen des nächsten Eintrags des Verzeichnisses zurück. Die Einträge werden in der Reihenfolge zurückgegeben, in der sie innerhalb des Dateisystems angelegt wurden.
Parameter-Liste
Rückgabewerte
Gibt bei Erfolg den Namen des Eintrags zurück. Bei einem Fehler wird false
zurückgegeben.
Diese Funktion kann sowohl das
boolsche false
zurückliefern, als auch einen nicht-boolschen Wert, welcher zu false
ausgewertet wird.
Weitere Informationen entnehmen Sie bitte dem Abschnitt über die
boolschen Typen. Benutzen Sie deshalb
den === Operator,
um den Rückgabewert dieser Funktion zu überprüfen.
Changelog
Version | Beschreibung |
---|---|
8.0.0 |
dir_handle ist nun nullable (akzeptiert den
null -Wert).
|
Beispiele
Beispiel #1 Alle Einträge 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 den gleichen
Wert und Datentyp hat - 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
if ($handle = opendir('/path/to/files')) {
echo "Verzeichnis-Handle: $handle\n";
echo "Einträge:\n";
/* Dies ist der korrekte Weg, ein Verzeichnis zu durchlaufen. */
while (false !== ($entry = readdir($handle))) {
echo "$entry\n";
}
/* Dies ist der FALSCHE Weg, ein Verzeichnis zu durchlaufen. */
while ($entry = readdir($handle)) {
echo "$entry\n";
}
closedir($handle);
}
?>
Beispiel #2
Listet alle Einträge des aktuellen Verzeichnisses auf und blendet dabei
die Verzeichnisse .
und ..
aus.
<?php
if ($handle = opendir('.')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo "$entry\n";
}
}
closedir($handle);
}
?>