Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit PHP alle Dateien in einem Verzeichnis, einschließlich Unterverzeichnissen, auflisten?

Wie kann ich mit PHP alle Dateien in einem Verzeichnis, einschließlich Unterverzeichnissen, auflisten?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 16:18:03360Durchsuche

How can I list all files in a directory, including subdirectories, using PHP?

Alle Dateien, einschließlich Unterverzeichnisse, in PHP auflisten

Wenn Sie alle Dateien in einem Verzeichnis auflisten möchten, einschließlich derjenigen in Unterverzeichnissen, bietet PHP eine praktische Lösung .

Um dies zu erreichen, können Sie eine Kombination aus RecursiveDirectoryIterator und RecursiveIteratorIterator verwenden.

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

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

So funktioniert es:

  • RecursiveDirectoryIterator erstellt ein Objekt, das ein Verzeichnis und seinen Inhalt darstellt. Es durchläuft jede Datei und jedes Unterverzeichnis und stellt ein Array von Objekten bereit.
  • RecursiveIteratorIterator fügt zusätzliche Funktionalität zum Durchlaufen der von RecursiveDirectoryIterator zurückgegebenen Objekte hinzu und ermöglicht uns den Zugriff auf jeden Dateinamen.
  • Die Bedingung if ($filename->isDir()) continue; Filtert Verzeichnisse (dargestellt durch . und ..) aus der Dateiliste heraus.

Durch die Integration dieser beiden Iteratoren können Sie ganz einfach ein Array von Dateinamen generieren, das sowohl Dateien im aktuellen Verzeichnis als auch diese enthält befindet sich in Unterverzeichnissen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP alle Dateien in einem Verzeichnis, einschließlich Unterverzeichnissen, auflisten?. 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