Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Unterverzeichnisse rekursiv lesen und Dateien in PHP verarbeiten?

Wie kann ich Unterverzeichnisse rekursiv lesen und Dateien in PHP verarbeiten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-23 06:33:29599Durchsuche

How to Recursively Read Subdirectories and Process Files in PHP?

So lesen Sie Unterverzeichnisse und iterieren über Dateien in PHP

Um über Dateien in Unterverzeichnissen zu iterieren, können Sie die rekursiven Iteratoren von PHP nutzen.

Rekursiver Verzeichnis-Iterator

Mit der Klasse RecursiveDirectoryIterator können Sie die Verzeichnisstruktur rekursiv durchlaufen. Jede Iteration gibt ein neues SplFileInfo-Objekt zurück, das eine Datei oder ein Verzeichnis darstellt.

Rekursiver Iterator-Iterator

Die RecursiveIteratorIterator-Klasse umschließt einen RecursiveDirectoryIterator und bietet eine praktische Möglichkeit, das Verzeichnis zu durchlaufen Baum, rekursiver Besuch von Unterverzeichnissen.

Beispielcode

Hier ist ein Beispielcodeausschnitt, der zeigt, wie diese Iteratoren verwendet werden:

<code class="php">$main = "MainDirectory";
$di = new RecursiveDirectoryIterator($main, RecursiveDirectoryIterator::SKIP_DOTS);
$rii = new RecursiveIteratorIterator($di);

foreach ($rii as $filename => $file) {
    // Do something with each file
    echo "$filename - {$file->getSize()} bytes\n";
}</code>

Dieser Code Initialisiert einen RecursiveDirectoryIterator für das MainDirectory und überspringt das aktuelle und das übergeordnete Verzeichnis (. und ..). Anschließend wird ein RecursiveIteratorIterator erstellt und der Verzeichnisbaum durchlaufen. Jedes Mal, wenn es auf eine Datei trifft, gibt es den Dateinamen und die Dateigröße zurück.

Hinweis: Sie können die Aktion „Mit jedem Dateiteil ausführen“ ändern, um den gewünschten Vorgang für jede Datei auszuführen. In diesem Beispiel werden einfach der Dateiname und die Größe für jede Datei gedruckt.

Das obige ist der detaillierte Inhalt vonWie kann ich Unterverzeichnisse rekursiv lesen und Dateien in PHP verarbeiten?. 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