Salut tout le monde, la fonction suivante scanne le contenu d'un répertoire (fichier et dossier de ce répertoire) et retourne le tout dans un tableau .

Je voudrais la rendre récursive, en gros que le même traitement soit appliqué au sous répertoire jusqu'au bout de l'arborescence ..

Je ne vois pas comment m'y prendre, je cherche depuis 3 heures et j'ai la tête à l'envers , une idée ?

Merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
function list_dir($dir, $prefix = false, $type = false) {
  $list = array();
  //On supprime le slash final.
  $dir = preg_replace("#(.+)(\/{1})$#isUu", "$1", $dir);
  if (is_dir($dir)) {
    if ($od = opendir($dir)) {
      while (($file = readdir($od)) !== false) {
        if ($file != ".." and $file != ".") {
          /*
          On ne tient pas compte de  .. et .
          qui sont le répertoire courant et le repertoire mère.
          */
          if (is_dir("$dir/$file") and $file != "file") {
            // Si c'est un dossier et que l'on affiche les dossiers.
           $list[] = ($prefix ? "$dir/": "").$file;            
          }
          else if (is_file("$dir/$file") and $type != "dir") {
            // Si c'est un fichier et que l'on affiche les fichiers.
            $list[] = ($prefix ? "$dir/": "").$file;
          }
        }
      }
      closedir($od);
    }
  }
  print_r ($list);
}