Page 1 sur 1

Lecture totale d'un dossier

Posté : 20 août 2006, 14:04
par Sineljogy
Hello !

Je désire créer un petit système de recherche de fichiers sur mon serveur web. Pour l'instant, je voulais simplement créer une fonction qui lit le total de mon dossier (contenu fichiers et ses sous-dossiers). Alors dans un grand élan de concentration j'ai obtenu ceci mais je coince sur un problème... ça fonctionne pas :(

Je vous montre déjà le code :
<?
function search($dossier)
{
     $rep = opendir($dossier);
     while ($file = readdir($rep))
     {
          if ($file != "." && $file != ".." && $file != "hidden")
          {
               if (is_dir($file))
               {
                    chdir($file);
                    $tmp = $dossier."\\".$file;
                    search($tmp);
               }
 	  			else
         		{
                    echo $file."<br>";
          		}
     	}
    }
	closedir($rep);
}
search("E:\Musiques");
?>
Voilà ce que j'obtiens dans le navigateur, c'est juste les dossiers qui sont dans E:\Musiques... Et pourtant je demande d'afficher les fichiers et non les dossiers! ça veut dire que mon PHP détecte mal ou je ne sais quoi... une idée ?

En faisant quelques tests, je remarque quand même que c'est la fonction is_dir() qui ne fonctionne pas :( pourquoi ?

merci d'avance :)

Posté : 20 août 2006, 16:27
par Truc
Salut,
Essaie avec le chemin complet pour is_dir() :
$tmp = $dossier."\\".$file; 
if (is_dir($tmp))
{
    ...
}
is_dir() vérifie s'il s'agit d'un dossier mais il lui faut le chemin depuis la racine

Posté : 20 août 2006, 16:30
par Sineljogy
Ouais j'y avais pensé, j'ai essayé mais ça change rien. :(

Posté : 20 août 2006, 17:48
par Truc
supprime cette fonction chdir() puis remontre le code avec les modifications.