PHP: Rekursives Einlesen von Ordnern und Dateien liefert doppelte Werte
bearbeitet von
Hallo Julius,
vielleicht noch schöner, weil es ohne die Übergabe per Referenz auskommt und das elseif bei jedem Durchlauf einspart (Benutzung von `array_diff()`):
~~~php
function elementeEinlesen ($pfad)
{
$elemente = array_diff(scandir($pfad), ['.', '..']);
foreach ($elemente as $element)
{
if (!is_dir ($pfad . DIRECTORY_SEPARATOR . $element))
{
$resultat[] = $element;
}
else
{
$resultat[$element] = elementeEinlesen ($pfad . DIRECTORY_SEPARATOR . $element);
}
}
return $resultat;
}
~~~
Gruß
Julius