Listen Sie alle Ordner, Unterordner und Dateien in einem Verzeichnis mit PHP auf
P粉891237912
P粉891237912 2023-08-27 16:21:06
0
2
608
<p>Bitte geben Sie mir eine Lösung, um alle Ordner, Unterordner und Dateien in einem Verzeichnis mithilfe von PHP aufzulisten. Meine Ordnerstruktur sieht so aus: </p> <pre class="brush:php;toolbar:false;">Hauptverzeichnis Dir1 Unterverzeichnis1 Datei1 Datei2 Unterverzeichnis2 Datei3 Datei4 Dir2 Unterverzeichnis3 Datei5 Datei6 Unterverzeichnis4 Datei7 Datei8</pre> <p>Ich möchte eine Liste aller Dateien in jedem Ordner erhalten. </p> <p><strong>Gibt es einen Shell-Skriptbefehl in PHP? </strong></p>
P粉891237912
P粉891237912

Antworte allen(2)
P粉738346380

显示文件夹结构的一种非常简单的方法是使用 RecursiveTreeIterator 类(PHP 5 >= 5.3.0、PHP 7)并生成 ASCII 图形树。

$it = new RecursiveTreeIterator(new RecursiveDirectoryIterator("/path/to/dir", RecursiveDirectoryIterator::SKIP_DOTS));
foreach($it as $path) {
  echo $path."<br>";
}

http://php.net/manual/en/class.recursivetreeiterator.php

通过使用 RecursiveTreeIterator::setPrefixPart 更改前缀,还可以对树的 ASCII 表示进行一些控制,例如 $it->setPrefixPart(RecursiveTreeIterator::PREFIX_LEFT, "| ");

P粉482108310
function listFolderFiles($dir){
    $ffs = scandir($dir);

    unset($ffs[array_search('.', $ffs, true)]);
    unset($ffs[array_search('..', $ffs, true)]);

    // prevent empty ordered elements
    if (count($ffs) < 1)
        return;

    echo '<ol>';
    foreach($ffs as $ff){
        echo '<li>'.$ff;
        if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
        echo '</li>';
    }
    echo '</ol>';
}

listFolderFiles('Main Dir');
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage