Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich mit PHP rekursiv ein Verzeichnis durchsuchen und alle Datei- und Ordnerpfade abrufen?

Wie kann ich mit PHP rekursiv ein Verzeichnis durchsuchen und alle Datei- und Ordnerpfade abrufen?

DDD
Freigeben: 2024-12-15 06:46:15
Original
247 Leute haben es durchsucht

How Can I Recursively Walk a Directory and Get All File and Folder Paths Using PHP?

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;
}
Nach dem Login kopieren

Verwendung

Rufen Sie die Funktion wie folgt auf:

$results = getDirContents('/xampp/htdocs/WORK');
var_dump($results);
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage