Comptage des fichiers dans un répertoire en PHP
Une tâche courante en programmation consiste à déterminer le nombre de fichiers dans un répertoire spécifique. PHP propose plusieurs méthodes pour y parvenir, et nous explorerons ici deux approches.
Méthode 1 : Utilisation de la fonction scandir
La fonction scandir analyse le contenu d'un répertoire et renvoie un tableau de noms de fichiers et de répertoires. Pour ne compter que les fichiers, vous pouvez filtrer les entrées du répertoire actuel et parent (. et ..), comme suit :
<code class="php">$dir = "uploads/"; $files = array_filter(scandir($dir), function ($file) { return !in_array($file, ['.', '..']) && !is_dir($file); }); echo "There were " . count($files) . " files";</code>
Méthode 2 : utilisation de la classe FilesystemIterator
La classe FilesystemIterator offre un moyen plus efficace et orienté objet de parcourir un répertoire. En ignorant les répertoires actuel et parent, vous pouvez compter directement le nombre de fichiers :
<code class="php">$dir = __DIR__; $fi = new FilesystemIterator($dir, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
Les deux méthodes comptent efficacement le nombre de fichiers dans un répertoire, la classe FilesystemIterator étant légèrement plus efficace. Choisissez la méthode appropriée en fonction de vos préférences et des exigences de votre projet.
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!