[PHP] fonction qui fait la liste des dossiers/fichiers

Statut
N'est pas ouverte pour d'autres réponses.

FoX SpeEd

Touriste
Alors voila je suis a la recherche d'une fonction qui me permetrait de faire la liste des fichiers et des dossiers présant dans un dossier donné. Je sais qu'il existe scandir() & glob () mais j'ai un problème:

Pour scandir():
elle marche très bien le seul soucis c'est qu'il faut avoir la version 5 de php et malheureusement il me faut une fonction compatible avec la 4.xx


Pour glob():
je ne sais pas ce qui se passe... je l'ai testé et retesté mais elle foire toujours

Code:
<?php
$files = glob("*.*");
foreach ($files as $filename) {
   echo "$filename <br>";
}
?>
et il me met l'erreur suivante:
Code:
Warning: Invalid argument supplied for foreach() in /var/www/free.fr/f/b/cssm5bis/foxspeed/filelist.php on line 4
j'ai aussi testé ça:

Code:
<?php

$arrayFiles=glob('*.*');
if($arrayFiles){
  foreach ($arrayFiles as $filename) {
   echo "$filename<br>";
  }
}
else
  echo"File not found."

?>
il me met tourjours : File not found

Donc je ne sais plus quoi faire :evil:

si quelqu'un aurai une idée a me proposer se serai sympa :wink:
 

Tifox

ou pas
Perso, j'utilise ça, mais ça a le désavantage que tu ne maitrise pas l'ordre du tri des fichier directement.

Code:
$handle = opendir($dossier);    // Overture du dossier
readdir($handle); // passe .
readdir($handle); // passe ..
while ( $file = readdir($handle) ){
  echo $file.'<br />';
}
 
1er
OP
FoX SpeEd

FoX SpeEd

Touriste
ce qui m'étonne c'est pour la fonction glob que ca aille pas?? c bizare no?
 

sebge2

Elite
fait un print_r(glob("*.*")) pour voir si c'est bien un tableau que te renvoi glob()

voila un code que j'ai peché dans un vieux truc (listing dir)
Code:
		if (is_dir($adr)) {
		   if ($dh = opendir($adr)) {
			   while (($file = readdir($dh)) !== false) {
					if(is_dir($adr.$file)) if($file!="." && $file!=".."){}close($dh)
listing fichiers
Code:
		if (is_dir($adr)) {
		   if ($dh = opendir($adr)) {
			   $j=0;
			   $k=0;
			   $i=0;
			   while (($file = readdir($dh)) !== false) {
					if(is_dir($adr.$file)) if($file!="." && $file!=".."){$dossiers[$j]=$file; $j++;}
					if(!is_dir($adr.$file)){						
						$valeur=explode(".",$file);
						if(strtolower($valeur[1])=="png" || strtolower($valeur[1])=="jpg" ||strtolower($valeur[1])=="jpeg" ||strtolower($valeur[1])=="jpe" ||strtolower($valeur[1])=="jfif" ||strtolower($valeur[1])=="gif"){$images[$k]=$file; $k++;}					
					}
					$i++;				  
			   }
			   closedir($dh);
			   
		   }
		}
voila tu sauras en tirer ce dont tu as besoin :wink:
 

.Vinc.

Oh, un LamZ !
La 1er page d'EasyPHP le fait !!!

Install le et va voir dans C\....chemin d'install\EasyPHP\www\index.php

;)
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut