Maison >développement back-end >tutoriel php >Comment lister de manière récursive des répertoires et des fichiers avec PHP ?

Comment lister de manière récursive des répertoires et des fichiers avec PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-26 08:03:09449parcourir

How to Recursively List Directories and Files with PHP?

Liste des répertoires de manière récursive avec PHP

Pour lister tous les dossiers, sous-dossiers et fichiers d'un répertoire donné en PHP, vous pouvez utiliser la fonction scandir(). Cet outil puissant vous permet d'obtenir un instantané détaillé du contenu d'un répertoire.

Considérez la structure de répertoires suivante à titre d'exemple :

Main Dir
 Dir1
  SubDir1
   File1
   File2
  SubDir2
   File3
   File4
 Dir2
  SubDir3
   File5
   File6
  SubDir4
   File7
   File8

Pour lister tous les fichiers et sous-répertoires, vous pouvez utiliser le code PHP suivant :

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');

Ce code parcourt récursivement le répertoire donné, identifiant tous les fichiers et sous-répertoires. La liste résultante sera présentée dans une liste HTML imbriquée et ordonnée (

    ). De plus, le code exclut le "." par défaut. et ".." qui représentent respectivement les répertoires actuel et parent.

    En tirant parti de la fonction scandir() et de l'approche récursive présentée ci-dessus, vous pouvez efficacement obtenir un inventaire complet du contenu de n'importe quel répertoire en PHP.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn