Distinguer un réperoire d'un fichier sans extension [PHP] - PHP - Programmation
Marsh Posté le 06-05-2003 à 12:34:07
  
  
 
| Code : 
 | 
 
 
ca sert à quoi su'il se décarcasse PHP ? ![[:ddr555] [:ddr555]](https://forum-images.hardware.fr/images/perso/ddr555.gif)
Marsh Posté le 06-05-2003 à 15:01:39
 ![[:spikler] [:spikler]](https://forum-images.hardware.fr/images/perso/spikler.gif) 
  
c'est vrai que c t tout simple, 
je me suis compliqué la vie pour rien...
Marsh Posté le 06-05-2003 à 15:22:49
rectification : je ne me suis pas compliqué la vie pour rien : 
ces fonctions is_file et is_dir semblent n'être pas vraiment au point ! 
 
is_dir considère que les répertoires n'ayant pas de sous-répertoires sont des fichiers... super cool !
Marsh Posté le 06-05-2003 à 15:24:42
| sire de botcor a écrit :   | 
 
Non, j'utilise ces fonctions régulièrement et j'ai pas ce problème. T'as le bout de code qui fait ça à nous montrer ?
Marsh Posté le 06-05-2003 à 15:35:45
j'en profite , j'ai un petit probleme, voiola mon bout de code : 
 
 
$directory="c tmp";
tmp"; 
 
$dir = opendir($directory); 
 
while ($file = readdir($dir)) 
{ 
     if (is_dir($directory.$file)) 
     { 
        $subdirs[] = $directory.$file.'/'; 
     } 
     elseif(is_file($directory.$file)) 
     { 
        echo $file.'<br>'; 
     } 
} 
closedir($dir); 
 
 
ben ca m'affiche quedalle, alors qu'il y a bien des fichiers... 
qqu'un sait pkoi ?
Marsh Posté le 06-05-2003 à 15:35:46
// listeFichiers() permet de lister tous les fichiers 
// d'un répertoire donné 
function listeFichiers($rep) 
{ 
   $handle=opendir($rep); 
   while ($fic = readdir($handle))  
   { 
      if ($fic!="." && $fic!=".." && is_file($fic))  
      { 
       $tabFichiers[]="$fic"; 
      } 
   } 
   return $tabFichiers; 
} 
// cette fonction est appelée de nombreuses fois par  
// l'intermédiaire d'autres fonctions.
Marsh Posté le 06-05-2003 à 15:43:23
Dans le désordre : 
Sire de Botcor : is_dir et is_file prennent en argument le chemin complet vers le fichier. Si tu veux tester C:\Temp\mytext.txt alors is_file("mytext.txt" ) ne marchera pas. Fais une concaténation. 
 
RedRidingHood : je dirais que c'est parce que tu n'as pas mis de séparateur au tout début : $directory = "C:\\tmp\\"; (pis utilise des \ aussi, j'sais pas si ça joue mais bon). A chaque itération, fais un echo de ce que tu testes et tu verras de suite quel est le problème.
Marsh Posté le 06-05-2003 à 16:32:51
tu as raison  
 ![[:spikler] [:spikler]](https://forum-images.hardware.fr/images/perso/spikler.gif) 
  
j'aurais dû y penser lorsque j'ai changé mon code
Marsh Posté le 06-05-2003 à 12:27:54
Salut !
J'ai fait un script qui liste les fichiers et les sous-répertoires d'un répertoire. Il distingue les fichiers des répertoires grâce au point qui se trouve avant l'extension.
Problème : il plante lorsque les fichiers n'ont pas d'extension (c'est rare mais ça arrive)
Comment puis-je distinguer un fichier sans extension d'un répertoire ?
---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron