Maison >développement back-end >tutoriel php >Comment lister de manière récursive des fichiers dans des sous-répertoires avec PHP ?
PHP : Répertorier les fichiers de manière récursive dans les sous-répertoires
Pour lister tous les fichiers d'un répertoire, y compris les sous-répertoires, et stocker les résultats dans un tableau, PHP propose plusieurs fonctions intégrées qui fonctionnent ensemble.
Utilisation de RecursiveIteratorIterator et RecursiveDirectoryIterator
Le code suivant montre comment obtenir le résultat souhaité :
<code class="php">$directory = "foldername"; // Create a RecursiveDirectoryIterator object for the specified directory $directoryIterator = new RecursiveDirectoryIterator($directory); // Create a RecursiveIteratorIterator object for the directory iterator $iterator = new RecursiveIteratorIterator($directoryIterator, RecursiveIteratorIterator::SELF_FIRST); // Initialize an empty array to store the file names $files = []; // Iterate over the files in the directory foreach ($iterator as $filename) { // Filter out "." and ".." directories if ($filename->isDir()) { continue; } // Add the file name to the array $files[] = $filename; }</code>
Explication
La classe RecursiveDirectoryIterator crée un objet qui parcourt les fichiers et répertoires dans le chemin spécifié. La classe RecursiveIteratorIterator fournit une itération récursive sur un objet RecursiveIterator, garantissant que les sous-répertoires sont également explorés.
En filtrant "." et ".." avec la méthode isDir(), nous ajoutons uniquement les fichiers réels au tableau $files.
Documentation 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!