Répertorier tous les dossiers, sous-dossiers et fichiers d'un répertoire en utilisant php
P粉891237912
P粉891237912 2023-08-27 16:21:06
0
2
468
<p>Veuillez me donner une solution pour lister tous les dossiers, sous-dossiers et fichiers d'un répertoire en utilisant php. La structure de mes dossiers est la suivante : </p> <pre class="brush:php;toolbar:false;">Répertoire principal Rép1 Sous-rép1 Fichier1 Fichier2 Sous-rép2 Fichier3 Fichier4 Rép2 Sous-rép3 Fichier5 Fichier6 Sous-rép4 Fichier7 Fichier8</pre> <p>Je souhaite obtenir une liste de tous les fichiers de chaque dossier. </p> <p><strong>Existe-t-il une commande de script shell en php ? </strong></p>
P粉891237912
P粉891237912

répondre à tous(2)
P粉738346380

Un moyen très simple d'afficher la structure des dossiers est d'utiliser la classe RecursiveTreeIterator (PHP 5 >= 5.3.0, PHP 7) et de générer une arborescence graphique 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

En utilisant 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');
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!