lister les fichiers d un repertoire dans un tableau et les trier

lister les fichiers d un repertoire dans un tableau et les trier - PHP - Programmation

Marsh Posté le 20-02-2004 à 14:30:19    

Voila ce que j'ai fait mais j'ai rien qui s'affiche :(  
 
 

Code :
  1. <?php
  2. $rep="flash_lrs";
  3. function list_file($rep) {
  4.   if ($dir = opendir($rep)) {
  5.     /
  6.     $tab_file = array();
  7.    
  8.     while($file = readdir($dir)) {
  9.      
  10.           $tab_file[] = $file;
  11.       }
  12.    
  13.     sort($tab_file);
  14.  
  15.     foreach($tab_file as $elem)
  16.     {
  17.     echo "$elem"<br>';
  18.     closedir($dir);
  19.   }
  20. }
  21. ?>


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 20-02-2004 à 14:30:19   

Reply

Marsh Posté le 20-02-2004 à 14:33:51    

sakuraba a écrit :

Voila ce que j'ai fait mais j'ai rien qui s'affiche :(  
 
 

Code :
  1. while($file = readdir($dir)) {
  2.      
  3.           $tab_file[] = $file;
  4.       }




 
Il te manque un indice pour dire ou tu ranges tout ca dans ton tableau non ?

Reply

Marsh Posté le 20-02-2004 à 14:41:22    

de plus il manque une parenthese fermante a ton foreach (ou bien t'enleve la premiere), et que fait ce slash apres le if ?

Reply

Marsh Posté le 20-02-2004 à 15:08:25    

Code :
  1. <?php 
  2. $rep="flash_lrs";
  3. function list_file($rep) { 
  4.   if ($dir = opendir($rep)) { 
  5.    
  6.     $tab_file = array(); 
  7.    
  8.     while($file = readdir($dir)) { 
  9.      
  10.           $tab_file[] = $file; 
  11.       } 
  12.    
  13.     sort($tab_file); 
  14.    
  15.     foreach($tab_file as $elem) 
  16.     { 
  17.     echo "$elem"; 
  18.      }
  19.     closedir($dir); 
  20.   } 
  21. ?>


Message édité par sakuraba le 20-02-2004 à 15:08:59

---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 20-02-2004 à 15:09:38    

le / qui traine c est une erreur de frappe sinon j'ai toujours rien à l'écran


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 20-02-2004 à 15:13:48    

Code :
  1. $tab_file = array(); 
  2.    
  3.     while($file = readdir($dir)) { 
  4.      
  5.           $tab_file[] = $file; 
  6.       }


 
et ca faudrait ptet le corriger aussi, cf mon premier post


Message édité par boulax le 20-02-2004 à 15:14:22
Reply

Marsh Posté le 20-02-2004 à 15:17:40    

un indice dans le array ?


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 20-02-2004 à 15:22:07    

sakuraba a écrit :

un indice dans le array ?


 
 :heink:  
 
bon !!! c'est quelque chose comme ca :
 

Code :
  1. $i=0;
  2. while($file = readdir($dir)) { 
  3.    
  4.          $tab_file[i++] = $file; 
  5.      }

Reply

Marsh Posté le 20-02-2004 à 15:49:18    

Faut un répertoire absolu pour opendir(), à moins que ton répertoire flash_lrs soit un sous-répertoire de ton install PHP (ce dont je doute).
Dans tous les cas, quand tu débugges, oublie pas de foutre un else à tes if() si t'es pas sûr que ton prog passe dedans, t'auras des traces sur ce qui se passe.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 22-02-2004 à 06:05:52    

Salut tous, bein j'ai jamais vu un tableau sans index, ou indice si tu veux, comment veut-tu adresser l'un des éléments du tableau sans le référencer par un numéro d'index, il a raison boulax ;)

Reply

Marsh Posté le 22-02-2004 à 06:05:52   

Reply

Marsh Posté le 22-02-2004 à 13:13:59    

dragonminus a écrit :

il a raison boulax ;)


 
 :sol: +1 dragonminus  :D

Reply

Marsh Posté le 22-02-2004 à 14:43:08    

j ai trouvé j'ai tout refait je poste lundi des que j'arrive au boulot et merci

Reply

Marsh Posté le 23-02-2004 à 10:24:26    

Code :
  1. <?
  2. //fonction qui supprime l’extension du fichier word  
  3. function affiche_file($fichier) {
  4. $extention=strlen(substr($fichier,strrpos($fichier,"." )));
  5. $extention=substr($fichier,0,strlen($fichier)-$extention);
  6. return($extention);
  7. }
  8. //fonction qui lit le répertoire où sont stockés les FLASH et crée un tableau multidimensionnel avec le nom des FLASH trié en ordre décroissant.
  9. function DirTri($rep,$tri)
  10. {
  11.   $Array = array(); $dir = opendir($rep);
  12.   $i=0;
  13.   //boucle qui lit le répertoire  
  14.   while ($File = readdir($dir)){
  15. //condition qui permet de supprimer les fichiers temporaires word et   les répertoires . et ..
  16.     if  (ereg("~","$File" ) || $File == "." || $File == ".." ) 
  17.     {
  18.      
  19.     }
  20. else {
  21. $Array[] = "$File";
  22. }
  23.     $i++;
  24.   }
  25.   closedir($dir);
  26.   if($tri == 'DESC'){
  27.     rsort($Array);
  28.   }else{
  29.     sort($Array);
  30.   }
  31.   $Max = count($Array);
  32.   for($i = 0; $i != $Max; $i++){
  33.     echo "<a href=\"$rep"."$Array[$i]\" target=_blank>La semaine : "   .affiche_file($Array[$i])."</a><br>";
  34.   }
  35.  
  36. }
  37. // param : ASC ou DESC (A-Z ou Z-A)
  38. DirTri("flash_lrs/","DESC" );
  39. ?>


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 23-02-2004 à 11:32:30    

ca m'etonnerait que ca marche ca .... :heink:

Reply

Marsh Posté le 23-02-2004 à 11:33:13    

cf mon avant avant dernier (et mesestimé) post

Reply

Marsh Posté le 23-02-2004 à 12:17:42    

si ça marche nickel


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 23-02-2004 à 12:41:14    

sakuraba a écrit :

si ça marche nickel  


 
 :??: alors explique moi :
 

Code :
  1. if  (ereg("~","$File" ) || $File == "." || $File == ".." ) 
  2.     {
  3.      
  4.     }
  5. else {
  6. $Array[] = "$File";
  7. }
  8.     $i++;


 
1) $Array[] = "$File";  cette instruction passe ???
2) A quoi te sert ta variable $i ici ??

Reply

Marsh Posté le 23-02-2004 à 12:46:33    

Bon en fait c surprenant mais  

Code :
  1. $Array[] = "$File";


 
semble "empiler" en quelque sorte ta variable en fin de tableau.
Par contre ta variable $i dans la premiere boucle ne sert à rien du coup.

Reply

Marsh Posté le 27-02-2004 à 22:32:37    

Ne pas indiquer d'indice lors d'une affectation revient à indiquer l'indice de la prochaine case. Pratique, même si ça renforce encore le côté un peu trop flexible du langage.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 28-02-2004 à 04:07:04    

Sielfried a écrit :

Ne pas indiquer d'indice lors d'une affectation revient à indiquer l'indice de la prochaine case. Pratique, même si ça renforce encore le côté un peu trop flexible du langage.


 
Ouais, bon, on va pas utiliser array_push chaque fois qu'on veut insérer 1 élément à la fin d'un tableau non plus :)

Reply

Sujets relatifs:

Leave a Replay

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