Sprint
Erfahrenes Mitglied
Hallo zusammen,
ich stehe vor dem Problem, ein Verzeichnis, das mit weiteren Ordnern und beliebigen Dateien bestückt ist, auszulesen und alphabetisch sortiert wieder auszugeben. Das Auslesen und sortieren ist kein Problem. Dafür hab ich dieses Script gefunden und für meine Bedürfnisse abgeändert:
Nun wird über die Variable $verzeichnis aber immer der komplette Pfad mit untergebracht. Mein Problem ist nun, diese Liste wie z.B. bei einem Inhaltsverzeichnis zu formatieren, d.h. jeden Unterordner weiter nach rechts einrücken und die jeweils enthaltenen Dateien auch entsprechend einzurücken usw.
Es soll also aus dieser Liste
./phpmailer/
./phpmailer/class.phpmailer.php
./phpmailer/class.pop3.php
./phpmailer/class.smtp.php
./phpmailer/language/
./phpmailer/language/phpmailer.lang-de.php
sowas werden
phpmailer
____class.phpmailer.php
____class.pop3.php
____class.smtp.php
____language
________phpmailer.lang-de.php
Scripte zu dem Thema gibt es zu tausenden, aber alle werden immer nur unformatiert ausgegeben. Irgendwie stehe ich im Moment völlig auf dem Schlauch, wie ich aus dieser Auflistung eine saubere Formatierung hinbekomme. Ich hoffe, daß mir jemand dabei helfen kann.
Vielel Dank schon mal im Voraus,
Sprint
ich stehe vor dem Problem, ein Verzeichnis, das mit weiteren Ordnern und beliebigen Dateien bestückt ist, auszulesen und alphabetisch sortiert wieder auszugeben. Das Auslesen und sortieren ist kein Problem. Dafür hab ich dieses Script gefunden und für meine Bedürfnisse abgeändert:
PHP:
function dir_rekursiv($verzeichnis) {
$dirs[] = $verzeichnis;
$handle = opendir($verzeichnis);
while ($datei = readdir($handle))
if ($datei != "." && $datei != ".." && is_dir($verzeichnis.$datei)){
$dirs = array_merge($dirs, dir_rekursiv($verzeichnis.$datei.'/'));
}elseif ($datei != "." && $datei != ".." && is_file($verzeichnis.$datei))
array_push($dirs, $verzeichnis.$datei);
closedir($handle);
return $dirs;
}
$dirs = dir_rekursiv('./');
natcasesort($dirs);
foreach ($dirs as $dir)
echo "$dir<br>\n";
Nun wird über die Variable $verzeichnis aber immer der komplette Pfad mit untergebracht. Mein Problem ist nun, diese Liste wie z.B. bei einem Inhaltsverzeichnis zu formatieren, d.h. jeden Unterordner weiter nach rechts einrücken und die jeweils enthaltenen Dateien auch entsprechend einzurücken usw.
Es soll also aus dieser Liste
./phpmailer/
./phpmailer/class.phpmailer.php
./phpmailer/class.pop3.php
./phpmailer/class.smtp.php
./phpmailer/language/
./phpmailer/language/phpmailer.lang-de.php
sowas werden
phpmailer
____class.phpmailer.php
____class.pop3.php
____class.smtp.php
____language
________phpmailer.lang-de.php
Scripte zu dem Thema gibt es zu tausenden, aber alle werden immer nur unformatiert ausgegeben. Irgendwie stehe ich im Moment völlig auf dem Schlauch, wie ich aus dieser Auflistung eine saubere Formatierung hinbekomme. Ich hoffe, daß mir jemand dabei helfen kann.
Vielel Dank schon mal im Voraus,
Sprint