Comptage des fichiers dans un répertoire PHP
Dans un projet récent, vous avez rencontré le besoin de déterminer le nombre de fichiers dans un répertoire spécifique. Vous avez expérimenté le code suivant :
<code class="php">$dir = opendir('uploads/'); $i = 0; while (false !== ($file = readdir($dir))) { if (!in_array($file, array('.', '..') and !is_dir($file)) $i++; } echo "There were $i files";</code>
Cependant, vous avez rencontré des difficultés pour afficher correctement les résultats. Une approche plus efficace utilisant la classe FilesystemIterator est recommandée :
<code class="php">$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
Ce code exploite la classe FilesystemIterator, qui fournit un itérateur pour parcourir les fichiers et les répertoires au sein d'un système de fichiers. En spécifiant l'indicateur SKIP_DOTS, il ignore les répertoires spéciaux "." et ".." dans le décompte. La fonction iterator_count() compte le nombre d'éléments dans l'itérateur, vous fournissant le nombre total de fichiers dans le répertoire spécifié.
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!