Maison  >  Article  >  développement back-end  >  Comment parcourir de manière récursive les sous-répertoires et accéder aux fichiers en PHP ?

Comment parcourir de manière récursive les sous-répertoires et accéder aux fichiers en PHP ?

DDD
DDDoriginal
2024-10-23 06:28:29491parcourir

How to Recursively Traverse Subdirectories and Access Files in PHP?

Comment parcourir de manière récursive des sous-répertoires et des fichiers en PHP

En PHP, vous pouvez rencontrer le besoin de parcourir plusieurs sous-répertoires imbriqués et d'accéder au fichiers qu'ils contiennent. Ceci peut être réalisé efficacement en utilisant la combinaison de RecursiveDirectoryIterator et RecursiveIteratorIterator.

Pour structurer votre code comme vous l'avez décrit, vous pouvez utiliser l'approche suivante :

<code class="php">$main = "MainDirectory";

$di = new RecursiveDirectoryIterator($main, RecursiveDirectoryIterator::SKIP_DOTS);
$iterator = new RecursiveIteratorIterator($di);

foreach ($iterator as $filename => $file) {
    // Do something with the file here
}</code>

Voici un aperçu de la façon dont cela works :

  1. Initialisez un objet RecursiveDirectoryIterator avec le répertoire principal et utilisez l'indicateur SKIP_DOTS pour éviter de visiter le . et .. répertoires.
  2. Créez un RecursiveIteratorIterator pour parcourir les sous-répertoires de manière récursive.
  3. Parcourez les fichiers à l'aide de la boucle foreach. Chaque itération génère à la fois le nom de fichier et l'objet fichier, vous permettant d'effectuer les opérations souhaitées sur chaque fichier.

Cette structure de code vous permet de parcourir efficacement tous les sous-répertoires imbriqués et de récupérer les fichiers dans chaque répertoire, répondant à vos exigences.

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