Hallo Julius,
$elemente = array_diff(scandir($pfad), ['.', '..']);
hast Du gemessen, ob das effizienter ist? Es ist natürlich meistens besser, optimierte Library-Funktionen zu verwenden statt PHP Code, aber array_diff ist eine aufwändige Operation.
Was bremsen kann, ist, dass array_diff für jeden Eintrag einen Vergleich mit zwei Array-Werten durchführen muss, nicht nur für Directories. Das else if testet nur, wenn tatsächlich ein Directory vorliegt.
Rolf
--
Dosen sind silbern
Dosen sind silbern