PHP: Dateien rekursiv in Unterverzeichnissen auflisten
Um alle Dateien in einem Verzeichnis, einschließlich Unterverzeichnissen, aufzulisten und die Ergebnisse in einem Array zu speichern, PHP bietet mehrere integrierte Funktionen, die zusammenarbeiten.
Verwendung von RecursiveIteratorIterator und RecursiveDirectoryIterator
Der folgende Code zeigt, wie Sie das gewünschte Ergebnis erzielen:
<code class="php">$directory = "foldername"; // Create a RecursiveDirectoryIterator object for the specified directory $directoryIterator = new RecursiveDirectoryIterator($directory); // Create a RecursiveIteratorIterator object for the directory iterator $iterator = new RecursiveIteratorIterator($directoryIterator, RecursiveIteratorIterator::SELF_FIRST); // Initialize an empty array to store the file names $files = []; // Iterate over the files in the directory foreach ($iterator as $filename) { // Filter out "." and ".." directories if ($filename->isDir()) { continue; } // Add the file name to the array $files[] = $filename; }</code>
Erklärung
Die RecursiveDirectoryIterator-Klasse erstellt ein Objekt, das die Dateien und Verzeichnisse im angegebenen Pfad durchläuft. Die RecursiveIteratorIterator-Klasse stellt eine rekursive Iteration über ein RecursiveIterator-Objekt bereit und stellt sicher, dass auch Unterverzeichnisse untersucht werden.
Durch das Herausfiltern von „.“ und „..“ Verzeichnisse mit der Methode isDir() hinzufügen, fügen wir nur tatsächliche Dateien zum Array $files hinzu.
PHP-Dokumentation
Das obige ist der detaillierte Inhalt vonWie listet man Dateien in Unterverzeichnissen mit PHP rekursiv auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!