Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1780 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  petit problème avec une classe PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

petit problème avec une classe PHP

n°434263
qwix
Posté le 20-06-2003 à 14:37:29  profilanswer
 

Bonjour j'ai un problème avec la classe suivante:

Code :
  1. class explorer
  2. {
  3.   //nom du dossier:
  4.   var $dirName ;
  5.   //constructeur:
  6.   function explorer($dirName)
  7.   {
  8.     $this->dirName = $dirName ;
  9.   }
  10. //récupère l'extension du fichier passé en paramètre:
  11. function getExtension($fileName)
  12. {
  13.  $extension = substr($fileName, (strrpos($fileName,"." )+1), (strlen($fileName)-strrpos($fileName,"." ))) ;
  14.  $icone     = $this->checkIcone($extension) ;
  15.  return $icone ;
  16. }//fin fonction getExtension()
  17. //retourne l'icone correspondant à l'extension du fichier passé en paramètre:
  18. function checkIcone($ext)
  19. {
  20.  switch($ext)
  21.  {
  22.   case "jpg"  : $icone = "image1.gif";  break;
  23.   case "gif"  : $icone = "image1.gif";  break;
  24.   case "png"  : $icone = "image1.gif";  break;
  25.   case "bmp"  : $icone = "image1.gif";  break;
  26.   case "tif"  : $icone = "image1.gif";  break;
  27.   case "c"    : $icone = "script.gif";  break;
  28.   case "cpp"  : $icone = "script.gif";  break;
  29.   case "mpg"  : $icone = "movie.gif";   break;
  30.   case "avi"  : $icone = "movie.gif";   break;
  31.   case "mov"  : $icone = "movie.gif";   break;
  32.   case "pdf"  : $icone = "pdf.gif";   break;
  33.   case "ps"   : $icone = "script.gif";  break;
  34.   case "zip"  : $icone = "zip.gif";   break;
  35.   case "ace"  : $icone = "zip.gif";   break;
  36.   case "tar"  : $icone = "zip.gif";   break;
  37.   case "gz"   : $icone = "zip.gif";   break;
  38.   case "uu"   : $icone = "zip.gif";   break;
  39.   case "bat"  : $icone = "bat.gif";   break;
  40.   case "css"  : $icone = "text.gif";   break;
  41.   case "sql"  : $icone = "text.gif";   break;
  42.   case "txt"  : $icone = "text.gif";   break;
  43.   case "mp3"  : $icone = "sound.gif";   break;
  44.   case "wav"  : $icone = "sound.gif";   break;
  45.   case "au"   : $icone = "sound.gif";   break;
  46.   case "mid"  : $icone = "sound.gif";   break;
  47.   case "rtf"  : $icone = "quill.gif";   break;
  48.   case "doc"  : $icone = "doc.gif";   break;
  49.   case "xls"  : $icone = "excel.gif";   break;
  50.   case "ppt"  : $icone = "ppt.gif";   break;
  51.   case "pps"  : $icone = "script.gif";  break;
  52.   case "inc"  : $icone = "script.gif";  break;
  53.   case "php"  : $icone = "script.gif";  break;
  54.   case "php3" : $icone = "script.gif";  break;
  55.   case "php4" : $icone = "script.gif";  break;
  56.   case "com"  : $icone = "com.gif";   break;
  57.   case "css"  : $icone = "script.gif";  break;
  58.   case "inc"  : $icone = "script.gif";  break;
  59.   case "asp"  : $icone = "script.gif";  break;
  60.   case "html" : $icone = "html.gif";   break;
  61.   case "htm"  : $icone = "html.gif";   break;
  62.   case "exe"  : $icone = "exe.gif";   break;
  63.   default     : $icone = "unknown.gif";  break;
  64.  }//fin switch
  65.      return $icone;
  66. }//fin fonction checkIcone()
  67. //explore le répertoire sélectionné en paramètre:
  68. function browseDir()
  69. {
  70.  //si le nom du dossier est valide:
  71.  if(is_dir($this->dirName))
  72.  {
  73.   //ouverture du dossier:
  74.   $handle = opendir($this->dirName) ;
  75.   //tableau ou on va stocker les noms des fichiers:
  76.   $fileTab = array() ;
  77.   //on lis le contenu du répertoire:
  78.   $i = 0 ;
  79.   while($file = readdir($handle))
  80.   {
  81.    if ($file != "." && $file != ".." )
  82.    {
  83.     if(is_file($this->dirName."/".$file))
  84.     {
  85.      //on rempli le tableau avec le chemin des fichiers:
  86.      $fileTab[$i] = $this->dirName."/".$file ;
  87.      $i++ ;
  88.     }//fin if
  89.       }//fin if
  90.   }//fin while
  91.   //fermeture du dossier:
  92.   closedir($handle) ;
  93.   //on trie le tableau pour que les fichiers soient affichés dans l'ordre alphabétique:
  94.   sort($fileTab) ;
  95.   //on rajoute l'icone associé au fichier:
  96.   for($i=0; $i<sizeof($fileTab); $i++)
  97.   {
  98.    for($j=0; $j<sizeof($fileTab[$i]); $j++)
  99.    {
  100.     $fileTab[$i][$j] = $this->getExtension($fileTab[$i]) ;
  101.    }
  102.   }//fin for
  103.   //affichage du tableau des données:
  104.   for($i=0; $i<sizeof($fileTab); $i++)
  105.   {
  106.    for($j=0; $j<sizeof($fileTab[$i]); $i++)
  107.     echo("fileTab[$i][$j] = ".$fileTab[$i][$j]."<br>\n" ) ;
  108.   }//fin for
  109.  }
  110.  //sinon on affiche un message d'erreur:
  111.  else
  112.  {
  113.   echo("<b>Attention le dossier n'existe pas</b>" ) ;
  114.  }
  115. }//fin fonction browseDir()
  116. }


 
Mon problème est que, quand le récupère l'icone correspondant à l'extension du fichier passée en paramètre, la seconde dimension de mon tableau n'a la valeur que du premier caractère du nom de l'icone correspondante.
Par exemple, si vous lui passez un .gif en paramètre de checkIcone, et bien seule la première lettre de 'image1.gif' soit 1, est dans mon tableau, et je ne comprends pas pourquoi :?
J'ai peut-être oublié un truc mais là je ne voit pas  :??:  
 
:)

mood
Publicité
Posté le 20-06-2003 à 14:37:29  profilanswer
 

n°435499
qwix
Posté le 22-06-2003 à 08:12:38  profilanswer
 

up
 :bounce:  
 
:)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  petit problème avec une classe PHP

 

Sujets relatifs
[VBA Excel] Problème insertion de formuleprobleme de newbie dreamweaver...
[OVH] Script PHP pour création de compte pop ???[PHP] Se connecter a un site securisé (https) et y recuperer une page
Existe t'il en C un fonction md5() comme en PHP[PHP] Passer un paramètre à une fonction
[PHP] LA question que personne il y repond > Upload veut pas[PHP] Getter le resultat d'une query
PHP images truecolor et transparence[C++] Probleme de link (STL et solaris)
Plus de sujets relatifs à : petit problème avec une classe PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR