Hi,
ich möchte ein Hauptverzeichnis angeben und eine Funktion soll mir alle Unter-Verzeichnisse mit deren Dateien ausgeben.
Habe schon eine Funktion geschrieben, leider ist sie sehr langsam
Gibt es einfachere (schnellere Variante)?
Vielen Dank
Gruss
Unknown
ich möchte ein Hauptverzeichnis angeben und eine Funktion soll mir alle Unter-Verzeichnisse mit deren Dateien ausgeben.
Habe schon eine Funktion geschrieben, leider ist sie sehr langsam
PHP-Code:
function walk_folder($verzeichnis = 0, $level){
$temp = array();
$array_counter = 0;
$spacer;
//Ausgabe des Verzeichnisnamen
echo "
[b]".str_replace ('\\', ' ', strrchr($verzeichnis, "\\"))."[/b]<hr color=719ee1 width=350 align=left>\n";
//Versuche das Verzeichnis zu lesen
if($dir = opendir($verzeichnis)){
// Lese alles aus dem Verzeichnis aus und schreibe es in das Array files
$files = scandir($verzeichnis);
//Gehe nun files komplett durch und suche nach Verzeichnissen
foreach ($files as $value)
if (strlen($value) > 2) //Wenn mehr als 2 Zeichen im String vorhanden sind
// Wenn es kein Verzeichnis ist, muss es eine Datei sein
if (!is_dir($verzeichnis."//".$value)){
//for ($zaehler = 0; $zaehler != $level; $zaehler++) echo "";
echo "- [url='".$verzeichnis.']".substr($value, 0, strpos($value, "."))."[/url]
\n";
//Ansonsten ist es ein Verzeichnis -> Speicher in das Array $temp
}else $temp[$array_counter++] = $verzeichnis.'\\'.$value;
//Wenn es einen Fehler gibt gebe den Fehler aus
//Gehe alle gefundenen Verzeichnisse rekursiv durch
foreach ($temp as $value) walk_folder($value, $level++);
//Schließe das Verzeichnis
closedir($dir);
}else echo "Fehler beim Öffnen des Verzeichnisses";
}// Ende der Funktion
Gibt es einfachere (schnellere Variante)?
Vielen Dank
Gruss
Unknown

Kommentar