8792 sujets

Développement web côté serveur, CMS

Bonjour,

je vous explique mon problème:
J'essaye de lister un repertoire avec les super commandes


if ($handle = opendir($rep)) {
while (false !== ($file = readdir($handle))) ]


lorsque $rep='.' ça va

mais lorsque je veux faire ../img/ pour acceder à un répertoire en amont..

Il y a des petits problèmes...
ça liste bien les fichiers et les répertoires
mais if(is_dir($file)) ne voit rien
alors qu'il y a des répertoires...

	if (is_dir($file))
			{
			echo "---> <a href=blalbla>".$file."</a><BR>";
			}
			else
			{
	            echo "$file<BR>";
			}



j'ai un compte sur free... ( ça n'a suremen rien avoir avec eux mais je le dis quand même)
Modifié par matcullen (13 Oct 2006 - 10:26)
Administrateur
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
D'après ce que j'ai pu lire dans la doc PHP, il y a quelques "soucis" avec la gestion des paths relatifs et is_dir
Tu devrais peut-être essayer en procédant ainsi :


<?php
     chdir("..");
     $rep=opendir("./img");
     while(false != ($file = readdir($rep)))
     {
           if(is_dir($file))
           {
                print "<a href=\"".$file."\" class=\"directory\">".$file."</a>";
           }
           else
           {
                print $file."<br />";
           }
     }
?>
Hello matcullen Smiley cligne ,

Je pense qu'il faut concaténer $rep et $file :
<?php
$rep='..';
chdir($rep);
if ($handle = opendir($rep)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo "$file  --> ".is_dir($rep.'/'.$file)."<br> ";
        }
    }
    closedir($handle);
}
?>


@+