<?
function lese_dir($verzeichnis, $einruecken= 0, $farbe= 000000) //Verzeichnisse rekursiv auslesen
{
$fd=opendir($verzeichnis);
$abstand= 5; // festlegen wie weit eingerückt werden soll (in Pixel)
$abstand+= $einruecken; // der immer weiter weg Effekt, auskommentieren, um gleichen Abstand zu erhalten...
$farbe= dechex(hexdec($farbe) + hexdec(234567)); // Linienfarbe berechnen
$x=0;
while (($file = readdir($fd)) !== false) //Verzeichnis nach Dateien und Ordner durchsuchen, erst Dateien ausgeben
{
if (!is_dir($verzeichnis."/".$file))
{
//if (substr($file,-4)== '.php') // Komentarzeichen entfernen, wenn nur .php Dateien ausgelesen werden sollen
echo "<div style=\"margin-left:$abstand px; padding-left:0px; border-left-width: 1px; border-left-style: solid; border-left-color: #999999;\">- <a href=\"$verzeichnis/$file\">".$file."</a></div>"; //Dateien ausgeben
$x++;
}
}
$anzahl_dateien= ($x== 0 || $x> 1) ? "<div style=\"margin-left:$abstand px; padding-left:0px; border-left-width: 1px; border-left-style: solid; border-left-color: #999999;\">>>>$x Dateien</div>" : "<div style=\"margin-left:$abstand px; padding-left:0px; border-left-width: 1px; border-left-style: solid; border-left-color: #999999;\">>>>$x Datei</div>";
echo $anzahl_dateien;
$fd2=opendir($verzeichnis);
while (($file = readdir($fd2)) !== false) //Verzeichnis nach Dateien und Ordner durchsuchen, dann Ordner ausgeben...
{
if ($file !== '.' && $file !== '..')
{
if (is_dir($verzeichnis."/".$file))
{
echo "<div style=\"margin-left:$abstand px; padding-left:0px; border-left-width: 1px; border-left-style: solid; border-left-color: #$farbe;\"><br><b>= ".$file."</b>"; // Ordner ausgeben
lese_dir($verzeichnis."/".$file, $abstand, $farbe);
}
}
}
closedir($fd);
closedir($fd2);
echo "</div>"; // End-Div vom Ordner
clearstatcache(); //alte Ordner- bzw. File- Definitionen löschen
}
echo "<b>.</b><br>";
lese_dir('.'); //aktuelles Verzeichnis auslesen
?>