Aller au contenu

Lister uniquement les repertoires


rat-du-net

Sujets conseillés

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:

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Modifié par Boo2M0rs0
Lien vers le commentaire
Partager sur d’autres sites

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 :

$max = count($data) - 1;
for ($i = 0; $i < $max; $i++) {

 echo $data[$i];
 // etc...
}

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...