Maison > développement back-end > tutoriel php > Comment lister de manière récursive tous les fichiers d'un répertoire en PHP ?

Comment lister de manière récursive tous les fichiers d'un répertoire en PHP ?

DDD
Libérer: 2024-11-03 22:06:31
original
388 Les gens l'ont consulté

How do I recursively list all files in a directory in PHP?

Liste récursive des fichiers en PHP

Récupérer une liste de tous les fichiers d'un répertoire est une tâche courante en PHP. Cependant, que se passe-t-il si vous devez également inclure des fichiers provenant de sous-répertoires ? Ce guide explique comment y parvenir.

Solution

Pour lister tous les fichiers d'un répertoire, y compris ceux des sous-répertoires, vous pouvez utiliser le code suivant :

<code class="php">foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.')) as $filename) {
    // Filter out "." and ".."
    if ($filename->isDir()) continue;

    echo "$filename\n";
}</code>
Copier après la connexion

Explication

Cette solution emploie deux classes de la bibliothèque standard PHP : RecursiveDirectoryIterator et RecursiveIteratorIterator. Décomposons le code :

  • RecursiveDirectoryIterator('foldername'): Initialise un itérateur de répertoire pour le dossier spécifié dans 'foldername.'
  • new RecursiveIteratorIterator($directoryIterator): Crée un itérateur qui parcourt de manière récursive tous les répertoires et fichiers du répertoire spécifié.

La boucle suivante parcourt tous les fichiers du répertoire et des sous-répertoires, imprimant leurs noms s'ils ne sont pas des répertoires.

Documentation PHP

  • [RecursiveDirectoryIterator](https://www.php.net/manual/en/class.recursivedirectoryiterator.php)
  • [RecursiveIteratorIterator](https://www.php.net/manual/en/class.recursiveiteratoriterator.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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal