Comptage de fichiers

Contenu du snippet

Code pour compter les fichiers d'un répertoire...

Paramètres:
$folder = repertoire de comptage
$ext = extension dont les fichiers sont comptés (peut être un tableau) (sans le . : jpg par exemple) (nombre de caractères variable, càd html aussi valable, mais gare à vous si vous utilisez des fichiers sans extension, vous voici prévenus, :D)
$subfolders = comptage dans les sous repertoires (true ou false) (1 ou 0 si vraiment vous le voulez, ^^ )

Retour:
Nombre de fichier

Source / Exemple :


function count_files($folder, $ext, $subfolders)
{
   // on rajoute le / à la fin du nom du dossier s'il ne l'est pas
   if(substr($folder, -1) != '/')
      $folder .= '/';
   
   // $ext est un tableau?
   $array = false;
   if(is_array($ext))
      $array = true;

   // ouverture du répertoire
   $rep = @opendir($folder);
   if(!$rep)
      return -1;
      
   $nb_files = 0;
   // tant qu'il y a des fichiers
   while($file = readdir($rep))
   {
      // répertoires . et ..
      if($file == '.' || $file == '..')
         continue;
      
      // si c'est un répertoire et qu'on peut le lister
      if(is_dir($folder . $file) && $subfolders)
          // on appelle la fonction
         $nb_files += count_files($folder . $file, $ext, 1);
      // vérification de l'extension avec $array = 0
      else if(!$array && substr($file, -strlen($ext)) == $ext)
         $nb_files++;
      // vérification de l'extension avec $array = true   
      else if($array && in_array(substr($file, strrpos($file, '.') + 1), $ext))
         $nb_files++;
   }
   
   // fermeture du rep
   closedir($rep);
   return $nb_files;
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.