Julius: PHP: Rekursives Einlesen von Ordnern und Dateien liefert doppelte Werte

Beitrag lesen

Hallo Enrico,

im else-Zweig fügst du den Verzeichnisnamen zum zweiten Mal ein. So müsste es gehen:

function elementeEinlesen ($pfad, &$resultat = [])
{
   $elemente = scandir ($pfad);

   foreach ($elemente as $element)
   {
      if (!is_dir ($pfad . DIRECTORY_SEPARATOR . $element))
      {
            $resultat[] = $element;
      }
      elseif ($element != "." && $element != "..")
      {
            elementeEinlesen ($pfad . DIRECTORY_SEPARATOR . $element, $resultat[$element]);
      }
   }

   return $resultat;
}

Nachtrag: Bei der Fehlersuche bin ich so vorgegangen, wie dedlfix es bereits schilderte.

Gruß
Julius