Tach!
Lohnt es sich hier eigentlich aus Performance-Gründen opendir() mit readdir() statt scan() zu verwenden? Denn die implizite Sortierung von scan() wird hier ja nicht gebraucht.
Die mehrfachen Funktionsaufrufe werden vermutlich mehr kosten als der eine Aufruf von scandir() (nicht nur scan()). Die Sortierung kann man auch deaktivieren (siehe Beschreibung im Handbuch). Eine Alternative kann glob() sein, das lässt . und .. weg, man muss also auch nicht darauf testen, wenn man das nicht haben möchte. Insgesamt dürften die Performance-Unterschiede jedoch nicht ins Gewicht fallen.
dedlfix.