Version complète: sur le forum Webmaster Hub : Lister uniquement les repertoires
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
rat-du-net
j'ai un repertoire qui represente l'annee.
ce repertoire n'a pas de fichiers, il n'a que des sous repertoire qui correspondent aux mois et dans ses sous repertoire j'ai un fichier html

je souhaiterais faire unscript php qui me permette de faire un lien uniquement vers les sous repertoires representant les mois. Ce qui donnerais ca :

2004 :
lien 01
lien 02
lien 03

2005 :
lien 01
lien 02
lien 03
lien 04

sachant que le nombre de sous repertoires et donc de mois peut changer dans le temps.

pour commencer j'ai fait ca:

CODE
function liste_rep($rep){

$dir = opendir($rep);
$i = 0;
while ($f = readdir($dir)){
   if (!is_file($f) AND $f != '.' AND $f != '..'){ // test si c'est pas un fichier donc un rep
       $data[$i] = $f.'/';
       $i++;
   }
}
closedir($dir);
return($data);
exit();
}


$data = liste_rep("./");
$i=0;
while($data[$i]){
    echo $data[$i];
    $data2 = liste_rep($data[$i]);
    $j = 0;
    while($data2[$j]){
 echo $data2[$j].'<br>';
 $j++;
    }
    $i++;
    }


mais ca n'a pas l'air d'etre bon
deja faut que je fasse la distinction entre les annees et les mois car les annees ne doivent pas etre clickable

donc si quelqu'un ici sait comment faire.
Boo2M0rs0
Comment sont listé tes mois ?? Est ce que le dossier de janvier s'écrit 0 ??

Car dans ce cas, lorsque php voit ça:
while($data2[$j])

Il voit que $data2[$j] = 0 Donc il va essayer de transformer ça en booléen et celà va donner false.

Essaye plutot d'écrire:
while(isset($data2[$j]))

C'est un peu plus long mais plus précis pour l'interprêteur.
NorSeb
CITATION(Boo2M0rs0 @ mardi 18 octobre 2005, 16h52)
Essaye plutot d'écrire:
while(isset($data2[$j]))


Je ne suis pas certain que tu puisse parcourir ton tableau avec ca.
Préfère plutot :
CODE
$max = count($data) - 1;
for ($i = 0; $i < $max; $i++) {

 echo $data[$i];
 // etc...
}
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.