[PHP] Créer arborescence de répertoires - Lister tous les répertoires et sous-rep

Bonjour,

J’ai besoin de lister tous les répertoires et sous-répertoires à partir d’un répertoire donné (uniquement les répertoires, pas les fichiers).

J’ai créé cette fonction mais ça ne fonctionne pas:

<?php
function liste_rep($src_dir)
{
$dir = opendir($src_dir);
while($nom = readdir($dir))
{
if ($nom!="." && $nom!="..")
{
if (is_dir($nom))
{
$chemin=$src_dir . "/" . $nom;
echo($chemin . "<br>");
liste_rep($chemin);
}

}
}
closedir($dir);
}

$src_dir = ".";
liste_rep($src_dir);
?>

J’arrive à obtenir les répertoires directs mais pas les sous-répertoires et les sous-sous-répertoires.

Est-ce que quelqu’un voit d’où ça peut venir ou sait où je pourrais trouver ce genre de script qui m’aiderait grandement?
Merci.

Olive

C’est normal :slight_smile: ton is_dir ne porte que sur $nom - qui est un nom de fichier dans l’arboresence - sauf, que tu ne lui dis pas où chercher le fichier : moralité? Il va chercher $nom dans le répertoire courant.

Essaye ça :

if (is_dir($nom))
{
$chemin=$src_dir . "/" . $nom;

à remplacer par :


$chemin=$src_dir . "/" . $nom;
if (is_dir($chemin))
{

Merci :wink: