Greener: Rekursive Funktion und Speichern im assoziativen Array

Beitrag lesen

Hallo Forumfreunde, ich habe gerade ein bisschen mit PHP zu kämpfen und vielleicht könnt ihr mir ja helfen.

Ich habe ein Verzeichnis und in diesem Verzeichnis wieder Unterverzeichnise mit Dateien also eine komplexe Verzeichnisstruktur mit unendlich vielen möglichen Ebenen.

Der Hintergrund ist, dass ich diese Verzeichnisstruktur nachher auf der Website als Menü ausgeben möchte. Jeder Ordner ist dann ein Menüpunkt, jeder Unterordner ein weiterer Menüpunkt und jede Datei auch ein Menüpunkt.

Dabei habe ich nun folgende Probleme: wie speichere ich die Verzeichnisstruktur und wie kann ich im assoziativen Array speichern, ob eine Datei oder ein Verzeichnis vorliegt.

Nachher sollte das ganze so aussehen:

Array:

ordner1
   ordner2
      ordner3
         textdatei1
         textdatei2
      textdatei3
   ordner4
      textdatei4
   ordner5
   ordner6
   textdatei5
   textdatei6

Diese Funktion hier habe ich mir schon gebastelt:
[code lang=php]
function auflisten($eintrag)
{
 if (is_dir($eintrag))
 {
  echo $eintrag."/<br>";
  $verzeichnis = scandir($eintrag);

foreach ($verzeichnis as $neuer_eintrag)
  {
   if ($neuer_eintrag == "." || $neuer_eintrag == "..")
    continue;

auflisten($eintrag."/".$neuer_eintrag);
  }
 }
 else
 {
  echo $eintrag."<br>";
 }
}
[/php]

Sie gibt unformatiert mit Rekursion das ganze aus. Aber wie speicher ich das nun in einem Array ab anstatt es auszugeben?

Vielen dank für eure gute Hilfe!