Probleme avec un code....

Probleme avec un code.... - PHP - Programmation

Marsh Posté le 29-10-2006 à 01:15:41    

Salut à tous, j'ai un probleme avec un code de fonction PHP. Cette fonction est censée compter le nombre de fichiers avec l'extension .php présents dans un repertoire et le retourner avec un bête echo.
 
Voici la fonction :
 

Code :
  1. <?
  2. function count_files($folder, $ext, $subfolders)
  3. {
  4.      // on rajoute le / à la fin du nom du dossier s'il ne l'est pas
  5.      if(substr($folder, -1) != '/')
  6.         $folder .= '/';
  7.    
  8.      // $ext est un tableau?
  9.      $array = 0;
  10.      if(is_array($ext))
  11.         $array = 1;
  12.      // ouverture du répertoire
  13.      $rep = @opendir($folder);
  14.      if(!$rep)
  15.         return -1;
  16.        
  17.      $nb_files = 0;
  18.      // tant qu'il y a des fichiers
  19.      while($file = readdir($rep))
  20.      {
  21.         // répertoires . et ..
  22.         if($file == '.' || $file == '..')
  23.          continue;
  24.        
  25.         // si c'est un répertoire et qu'on peut le lister
  26.         if(is_dir($folder . $file) && $subfolders)
  27.             // on appelle la fonction
  28.          $nb_files += count_files($folder . $file, $ext, 1);
  29.         // vérification de l'extension avec $array = 0
  30.         else if(!$array && substr($file, -strlen($ext))== $ext)
  31.          $nb_files++;
  32.         // vérification de l'extension avec $array = 1   
  33.         else if($array && in_array(substr($file, -strlen($ext)), $ext))
  34.          $nb_files++;
  35.      }
  36.    
  37.      // fermeture du rep
  38.      closedir($rep);
  39.      return $nb_files;
  40. }
  41. ?>


 
J'utilise donc ce code :
 

Code :
  1. echo count_files('/', '.php', '0');


 
'/' : Je veut compter le nombre de fichier dans le même repertoire que le script php en lui même
'.php' : comme je l'ai dit je ne veut compter que les fichiers php
'0' : je ne veut pas compter les sous répertoires.
 
Pourtant, ca ne fonctionne pas et PHP me retourne  
 

Citation :


-1


 
Y'aurait il quelque chose qui cloche dans mon code?
 
Merci d'avance ;)


---------------
"L'imagination est plus importante que le savoir : le savoir est limité, l'imagination fait le tour du Monde" - Albert Einstein
Reply

Marsh Posté le 29-10-2006 à 01:15:41   

Reply

Marsh Posté le 29-10-2006 à 01:37:45    

Le dossier en cours n'est pas '/', mais '.'

Reply

Marsh Posté le 29-10-2006 à 01:46:50    

Okay, j'essaye ;)


---------------
"L'imagination est plus importante que le savoir : le savoir est limité, l'imagination fait le tour du Monde" - Albert Einstein
Reply

Marsh Posté le 29-10-2006 à 01:49:33    

Florent, t'es génial! ca marche super! :)
 


---------------
"L'imagination est plus importante que le savoir : le savoir est limité, l'imagination fait le tour du Monde" - Albert Einstein
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed