Dateityp in Unterverzeichnissen?

the snake II

Erfahrenes Mitglied
Hallo zusammen,

Ich habe mir mithilfe des Tutorials 'Upload via Formular' von Christian Fein für ein Homeserver Administrationsprogramm ein Uploadscript gebastelt, in dem man einen Verzeichnisbaum mit allen Verzeichnissen und Unterverzeichnissen des Servers sieht, um zu wissen, wo man die ausgewählte Datei hinladen möchte.
Ich möchte natürlich, dass nur Verzeichnisse angezeigt werden. Das habe ich mit
PHP:
is_dir($file)
gelöst.
Der Code sieht so aus:
PHP:
$handle=opendir('./'); 
$i = 0; 
while ($file = readdir ($handle)) {
   if ($file != "." && $file != ".." && is_dir($file)) {
   $i++;
   if (is_dir($file)){$type_pic="dir.gif";} else {$type_pic = "file.gif";}
   echo "<tr><td><img src=$type_pic></td><td>$file</a></td></tr>";
   }
}
Um die Unterverzeichnisse auszulesen hab ich eine Lösung gewählt, die sehr 'improvisiert' ist; Einfach das unterverzeichnis auslesen:
PHP:
$handle=opendir('./'); 
$i = 0; 
while ($file = readdir ($handle)) {
   if ($file != "." && $file != ".." && is_dir($file)) {
   $i++;
   if (is_dir($file)){$type_pic="dir.gif";} else {$type_pic = "file.gif";}
   echo "<tr><td><img src=$type_pic></td><td>$file</a></td></tr>";
   $sub_one = "./" .$file;
   $handle_sub_one = @opendir($sub_one);
   $i_sub_one = 0;
   while ($file_sub_one = @readdir ($handle_sub_one)) {
      if ($file_sub_one != "." && $file_sub_one != ".." && is_dir($file_sub_one)) {
      $i_sub_one++;
      echo "<tr><td>--|</td><td>$file_sub_one</a></td></tr>";
      }
   }
   }
}
Bei den 'ersten' Ordnern zeigt der mir alles zu meiner Zufriedenheit an, aber bei den Unterordnern zeigt der mir nichts an.
Daher gehe ich davon aus, dass PHP nur im ersten Ordner den Dateitypen bestimmen kann.
Liege ich da richtig? Wenn ja wie kann ich das Problem lösen?
 
Zurück