Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit PHP rekursiv ein Verzeichnis durchsuchen und alle Datei- und Ordnerpfade abrufen?
Rekursives Durchsuchen eines Verzeichnisses mit einer PHP-Funktion
Wenn Sie ein Verzeichnis und seine Unterverzeichnisse durchsuchen und dabei jede darin enthaltene Datei und jeden Ordner suchen müssen Darin können Sie eine rekursive PHP-Funktion erstellen, um die Aufgabe zu erledigen. So geht's:
Rekursive Funktionsimplementierung
function getDirContents($dir, &$results = array()) { $files = scandir($dir); foreach ($files as $key => $value) { $path = realpath($dir . DIRECTORY_SEPARATOR . $value); if (!is_dir($path)) { $results[] = $path; } else if ($value != "." && $value != "..") { getDirContents($path, $results); $results[] = $path; } } return $results; }
Verwendung
Rufen Sie die Funktion wie folgt auf:
$results = getDirContents('/xampp/htdocs/WORK'); var_dump($results);
Beispiel Ausgabe
Die Funktion gibt ein Array zurück, das die Pfade zu allen Dateien und Ordnern im angegebenen Verzeichnis, einschließlich Unterverzeichnissen, enthält. Bei gegebenem Verzeichnis /xampp/htdocs/WORK könnte die Ausgabe beispielsweise so aussehen:
array (size=12) 0 => string '/xampp/htdocs/WORK/iframe.html' (length=30) 1 => string '/xampp/htdocs/WORK/index.html' (length=29) 2 => string '/xampp/htdocs/WORK/js' (length=21) 3 => string '/xampp/htdocs/WORK/js/btwn.js' (length=29) 4 => string '/xampp/htdocs/WORK/js/qunit' (length=27) 5 => string '/xampp/htdocs/WORK/js/qunit/qunit.css' (length=37) 6 => string '/xampp/htdocs/WORK/js/qunit/qunit.js' (length=36) 7 => string '/xampp/htdocs/WORK/js/unit-test.js' (length=34) 8 => string '/xampp/htdocs/WORK/xxxxx.js' (length=30) 9 => string '/xampp/htdocs/WORK/plane.png' (length=28) 10 => string '/xampp/htdocs/WORK/qunit.html' (length=29) 11 => string '/xampp/htdocs/WORK/styles.less' (length=30)
Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP rekursiv ein Verzeichnis durchsuchen und alle Datei- und Ordnerpfade abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!