Hallo,
sorry, euch wieder bemühen zu müssen, aber ich komme bei einem blöden Problem einfach nicht weiter.
Ich habe folgende Funktion, um rekursiv ein Verzeichnis samt Unterordnern und enthaltener Dateien einzulesen:
function elementeEinlesen ($pfad, &$resultat = [])
{
$elemente = scandir ($pfad);
foreach ($elemente as $element)
{
if (!is_dir ($pfad . DIRECTORY_SEPARATOR . $element))
{
$resultat[] = $element;
}
else
{
if ($element != "." && $element != "..")
{
elementeEinlesen ($pfad . DIRECTORY_SEPARATOR . $element, $resultat[$element]);
$resultat[] = $element;
}
}
}
return $resultat;
}
Hierbei erhalte ich in meiner Testumgebung folgende Ausgabe:
Array (4)
(
| ['fotos'] => Array (2)
| (
| | ['live'] => Array (2)
| | (
| | | ['17_3_28_Schrobenhausen'] => Array (8)
| | | (
| | | | ['0'] = String(5) "1.jpg"
| | | | ['1'] = String(5) "2.jpg"
| | | | ['2'] = String(5) "3.jpg"
| | | | ['3'] = String(5) "4.jpg"
| | | | ['4'] = String(5) "5.jpg"
| | | | ['5'] = String(5) "6.jpg"
| | | | ['6'] = String(5) "7.jpg"
| | | | ['7'] = String(5) "8.jpg"
| | | )
==> | | | ['0'] = String(22) "17_3_28_Schrobenhausen"
| | )
==> | | ['0'] = String(5) "live"
| )
==> | ['0'] = String(6) "fotos"
| ['presse'] => Array (3)
| (
| | ['0'] = String(13) "bandfotos.zip"
| | ['1'] = String(13) "bandlogos.zip"
| | ['2'] = String(24) "informationsmaterial.pdf"
| )
==> | ['1'] = String(7) "presse"
)
Die mit voranstehenden Pfeilen markierten Einträge sind "fälschlicherweise" doppelt angelegt.
Was habe ich falsch gemacht?
Vielen, vielen lieben Dank für eure Hilfe und Gruß
Enrico