Hallo,
Entschuldigt bitte, wenn ich Euch wieder einmal mit meinem Problem "Verzeichnis einlesen" bemühen muss, aber irgendwie bekomme ich den Code nicht richtig hin.
Das Problem noch einmal im Detail beschrieben:
Ich habe folgende Ordnerstruktur:
Ordner "pic/pic/klein/"
|
+--- Ordner 1
| |
| +--- Bild 1
| +--- Bild 2
| +--- Bild 3
|
+--- Ordner 2
|
+--- Bild 1
+--- Bild 2
+--- Bild 3
Ich will nun alle Elemente (Verzeichnisname und darin ehthaltene Bilder) in ein mehrdimensionales Array einlesen, das letztendlich folgenden schematischen Aufbau haben soll:
$ArrayVerzeichnis ['Name']['ORDNERNAME']['Bilder'] = Bild 1, Bild 2, Bild 3
Mit folgendem Code scheint das Auslesen des Verzeichnisses "pic/pic/klein" und die Zuordnung zu den jeweiligen Arrays zu funktionieren. Wohl gemerkt "scheint", da die Ausgabe nicht funktioniert:
function VerzeichnisEinlesen ($Verzeichnis)
{
$Verzeichnis = @opendir ($Verzeichnis);
while ($Eintrag = @readdir())
{
if (eregi ("^.{1,2}$", $Eintrag))
continue;
if (is_dir ($Eintrag))
{
$ArrayVerzeichnis ['Name'] = $Eintrag;
eval ("$ArrayVerzeichnis ['Name']['" . $Eintrag . "']['Bilder'] = array ();");
VerzeichnisEinlesen ($Verzeichnis.$Eintrag . "/");
}
else
$ArrayVerzeichnis ['Name']['" . $Eintrag . "']['Bilder'] = $Eintrag;
}
closedir ($Verzeichnis);
return $ArrayVerzeichnis;
}
$ArrayVerzeichnis = array ();
$ArrayVerzeichnis ['Name'] = array ();
$ArrayVerzeichnis ['Name'] = VerzeichnisEinlesen ("pic/pic/klein/");
//
// Debugging
//
for ($i = 0; $i < sizeof ($ArrayVerzeichnis ['Name']); $i++)
{
echo "<b>Verzeichnis: " . $ArrayVerzeichnis ['Name'][$i] . "</b><br>";
}
Greife ich auf das mehrdimensionale Array nur falsch zu oder liegen (noch) andere Fehler vor ?
Gruss, Enrico