Heim >Backend-Entwicklung >PHP-Tutorial >Wie liste ich Dateien in einem Verzeichnis und seinen Unterverzeichnissen in PHP auf?

Wie liste ich Dateien in einem Verzeichnis und seinen Unterverzeichnissen in PHP auf?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-03 12:26:03942Durchsuche

How to List Files in a Directory and its Subdirectories in PHP?

Auflisten von Dateien in Verzeichnissen und Unterverzeichnissen in PHP

In PHP können Sie Verzeichnisiterationsmethoden verwenden, um ein bestimmtes Verzeichnis und seine Unterverzeichnisse zu durchlaufen , wodurch effektiv eine Liste aller Dateien innerhalb ihrer hierarchischen Struktur abgerufen wird.

Um dies zu erreichen, führen Sie die folgenden Schritte aus:

  1. Instanziieren Sie ein RecursiveDirectoryIterator-Objekt, um das Verzeichnis und seine Unterverzeichnisse rekursiv zu durchsuchen.
  2. Erstellen Sie einen RecursiveIteratorIterator, um den RecursiveDirectoryIterator zu umschließen und eine Möglichkeit bereitzustellen, verschachtelt durch die Objekte zu iterieren.
  3. Filtern Sie innerhalb der Schleife Elemente wie „.“ heraus. und „..“ stehen für das aktuelle bzw. übergeordnete Verzeichnis.
  4. Um den Dateinamen zu erhalten, verwenden Sie die Variable $filename.

Hier ist ein Beispiel, das ein Array von Dateipfaden zurückgibt :

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

    $files[] = $filename->getPathname();
}</code>

Das resultierende $files-Array enthält die vollständigen Pfade zu allen Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen. Es könnte zum Beispiel so aussehen:

<code class="php">array("folder1/file.jpg", "folder2/blah.word", "root/name.fileext")</code>

Das obige ist der detaillierte Inhalt vonWie liste ich Dateien in einem Verzeichnis und seinen Unterverzeichnissen in PHP 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