Script PHP pour itérer dans les fichiers de répertoire
Cet article vise à fournir des conseils sur l'écriture d'un script PHP qui parcourt tous les fichiers dans un délai spécifié. annuaire. Le script vous permet de manipuler les noms de fichiers, de les trier selon divers critères et d'exclure des fichiers spécifiques de la liste.
La classe DirectoryIterator
En PHP, la classe DirectoryIterator offre un moyen pratique de parcourir les fichiers de répertoire. Une instance de cette classe représente un fichier unique, donnant accès à des métadonnées telles que le nom de fichier, le type de fichier et l'heure de modification.
Exemple de code
L'extrait de code suivant illustre comment utiliser la classe DirectoryIterator :
<?php $dir = new DirectoryIterator(dirname(__FILE__)); foreach ($dir as $fileinfo) { if (!$fileinfo->isDot()) { var_dump($fileinfo->getFilename()); } } ?>
Dans ce code, nous créons un objet DirectoryIterator pour le répertoire spécifié. La boucle foreach parcourt les fichiers, en excluant les répertoires et les fichiers cachés en vérifiant la méthode isDot().
Tri des fichiers
Pour trier les fichiers, vous pouvez utiliser le fonctions sort() ou uasort(). L'extrait de code suivant trie les fichiers par nom de fichier :
usort($dirArr, function($a, $b) { return strcasecmp($a->getFilename(), $b->getFilename()); });
Exclusion de fichiers
Pour exclure des fichiers spécifiques, vous pouvez filtrer le tableau de fichiers avant ou après la boucle . L'extrait de code suivant exclut les fichiers dont les noms commencent par un "." (fichiers cachés) :
$dirArr = array_filter($dirArr, function($fileinfo) { return !preg_match('/^\./', $fileinfo->getFilename()); });
En tirant parti de la classe DirectoryIterator et en comprenant ses fonctionnalités, vous pouvez créer des scripts personnalisés qui parcourent les fichiers de répertoire, manipulent les noms de fichiers et répondent à vos besoins spécifiques.
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!