Lister un répertoire

Résolu
labourette Messages postés 670 Statut Membre -  
labourette Messages postés 670 Statut Membre -
Bonjour,
Je ne sais pas comment afficher récursivement les dossiers. J'ai la petite fonction qui va bien mais ça ne m'affiche que les fichiers et dossiers qui se trouve dans ce répertroire
Moi je voudrais pouvoir afficher les sous répertoire et fichier, une arborescence en fait.
J'ai déjà vu des centaines de fonctions sur le net mais je n'arrive pas à les mettre en place, alors si vous pouvez m'aider.
Merci beaucoup de votre aide

[code]
<?php
//Ouvre un répertoire
$mon_repertoire = opendir("partition_de_musique");
//Lit successivement toutes les entrées du répertoire
while ($entree = readdir ($mon_repertoire))
{
//Enléve le . et les .. en début de liste
if ($entree != "." && $entree != "..")
{
echo "$entree<br/>";
}
}
//Ferme le répertoire
closedir($mon_repertoire);
?>
[/code]
Configuration: Windows XP
Firefox 3.5.7

3 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    <?php
    function listerRepertoire($repertoire) {
    	$mon_repertoire = opendir($repertoire);
    	
    	while($entree = readdir($mon_repertoire)) {
    		if($entree != "." && $entree != "..") {
    			if(is_dir($entree))
    				listerRepertoire($repertoire.'/'.$entree);
    			else
    				echo $entree.'<br/>';
    			}
    		}
    	}
    	closedir($mon_repertoire);
    }
    listerRepertoire('partition_de_musique');
    ?>
    Je n'ai pas essayé.
    0
  2. labourette Messages postés 670 Statut Membre 6
     
    Bonjour et merci pour ton aide.
    Juste une petite modif et ça marche super.
    re voici le code
    Un petit détail les 2 points avant les fichiers sont toujours présents?
    Y a t-il un autre moyen de les enlever?
    Merci

    [code]
    <?php
    // FONCTION PERMETTANT DE SCANNER UN DOSSIER RÉCURSIVEMENT ET D'EN CRÉER UN TABLEAU
    function listerRepertoire($repertoire){

    $mon_repertoire = opendir($repertoire); //Ouvre un répertoire
    while($entree = readdir($mon_repertoire)) { //Lit successivement toutes les entrées du répertoire
    if(is_dir($repertoire.'/'.$entree) && $entree != '.' && $entree != '..') { //Enléve le . et les .. en début de liste
    echo '<ul>'.$repertoire;
    listerRepertoire($repertoire.'/'.$entree);
    echo '</ul>';
    }
    else {
    echo "$entree<br/>";
    }
    }
    closedir($mon_repertoire); //Ferme le répertoire
    }
    listerRepertoire('partition de musique'); //Le répertoire à scanner
    ?>
    /code
    0
  3. labourette Messages postés 670 Statut Membre 6
     
    Re bonjour

    Merci avec ton aide je suis parvenu à ce que je voulais
    Merci
    0