readdir

(PHP 4, PHP 5, PHP 7, PHP 8)

readdirLiest einen Eintrag aus einem Verzeichnis-Handle

Beschreibung

readdir(?resource$dir_handle = null): string|false

Gibt 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

dir_handle

Die Verzeichnis-Handle-Ressource, die zuvor mit opendir() geöffnet wurde. Wenn das Verzeichnis-Handle nicht angegeben ist, wird dasjenige verwendet, das auf das zuletzt mittels opendir() geöffnete Verzeichnis zeigt.

Rückgabewerte

Gibt bei Erfolg den Namen des Eintrags zurück. Bei einem Fehler wird false zurückgegeben.

Warnung

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

VersionBeschreibung
8.0.0dir_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";


while (false !== ($entry = readdir($handle))) {
echo
"$entry\n";
}


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);
}
?>

Siehe auch

  • is_dir() - Prüft, ob der angegebene Dateiname ein Verzeichnis ist
  • glob() - Findet Dateinamen, die mit einem Muster übereinstimmen
  • opendir() - Öffnet ein Verzeichnis-Handle
  • scandir() - Listet Dateien und Verzeichnisse innerhalb eines angegebenen Pfades auf
To Top