Heim > Artikel > Backend-Entwicklung > Wie kann ich Unterverzeichnisse rekursiv lesen und Dateien in PHP verarbeiten?
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!