25.6. Wie kann ich den Inhalt eines Verzeichnisses samt dem Inhalt aller Unterverzeichnisse ausgeben?Antwort von Guido HaegerUm nicht nur den Inhalt des aktuellen Verzeichnisses, sondern auch den Inhalt aller Unterverzeichnisse ausgeben zu können, muss man eine rekursive Funktion verwenden. Diese ruft sich bei Bedarf selbst auf. Im nachfolgenden Beispiel durchläuft die Funktion show_dir jeweils das aktuelle Verzeichnis. Wird Datei gefunden, wird der Dateiname ausgegeben. Findet die Funktion ein Verzeichnis, dann wird der Verzeichnisname fett ausgegeben und die Funktion ruft sich mit dem Unterverzeichnis als Parameter selbst wieder auf. <?PHP function show_dir($dir, $pos=2) { if($pos == 2) { echo "<hr><pre>"; } $handle = @opendir($dir); while ($file = @readdir ($handle) !== false) { if (preg_match("=^\.{1,2}$=", $file)) { continue; } if(is_dir($dir.$file)) { printf ("% ".$pos."s <b>%s</b>\n", "|-", $file); show_dir($dir.$file."/", $pos + 3); } else { printf ("% ".$pos."s %s\n", "|-", $file); } } @closedir($handle); if($pos == 2) { echo "</pre><hr>"; } } show_dir("special/"); ?> |
||
25.6. Wie kann ich den Inhalt eines Verzeichnisses samt dem Inhalt aller Unterverzeichnisse ausgeben? http://www.php-faq.de/q/q-code-verzeichnis.html |
||
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team |