Heim  >  Artikel  >  Backend-Entwicklung  >  Wie liste ich alle Dateien in einem Verzeichnis in PHP rekursiv auf?

Wie liste ich alle Dateien in einem Verzeichnis in PHP rekursiv auf?

DDD
DDDOriginal
2024-11-03 22:06:31249Durchsuche

How do I recursively list all files in a directory in PHP?

Rekursive Dateiauflistung in PHP

Das Abrufen einer Liste aller Dateien in einem Verzeichnis ist eine häufige Aufgabe in PHP. Was aber, wenn Sie auch Dateien aus Unterverzeichnissen einbinden müssen? In dieser Anleitung erfahren Sie, wie Sie dies erreichen.

Lösung

Um alle Dateien in einem Verzeichnis aufzulisten, einschließlich der Dateien in Unterverzeichnissen, können Sie den folgenden Code verwenden:

<code class="php">foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.')) as $filename) {
    // Filter out "." and ".."
    if ($filename->isDir()) continue;

    echo "$filename\n";
}</code>

Erläuterung

Diese Lösung verwendet zwei Klassen aus der PHP-Standardbibliothek: RecursiveDirectoryIterator und RecursiveIteratorIterator. Lassen Sie uns den Code aufschlüsseln:

  • RecursiveDirectoryIterator('foldername'): Initialisiert einen Verzeichnisiterator für den in 'foldername' angegebenen Ordner.
  • new RecursiveIteratorIterator($directoryIterator): Erstellt einen Iterator, der alle Verzeichnisse und Dateien im angegebenen Verzeichnis rekursiv durchläuft.

Die nachfolgende Schleife durchläuft alle Dateien im Verzeichnis und in den Unterverzeichnissen und druckt ihre Namen, wenn es sich nicht um Verzeichnisse handelt.

PHP-Dokumentation

  • [RecursiveDirectoryIterator](https://www.php.net/manual/en/class.recursivedirectoryiterator.php)
  • [RecursiveIteratorIterator](https://www.php.net/manual/en/class.recursiveiteratoriterator.php)

Das obige ist der detaillierte Inhalt vonWie liste ich alle Dateien in einem Verzeichnis in PHP rekursiv auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn