1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
<?php
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 = 0;
if(is_array($ext))
$array = 1;
// 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 = 1
else if($array && in_array(substr($file, -strlen($ext)), $ext))
$nb_files++;
}
// fermeture du rep
closedir($rep);
return $nb_files;
}
?> |
Partager