Tach!
Nachtrag für die nachgereichte Bedingung "ohni die Unterordner Namen":
Wenn man das effizient notiert, bekommt man die Funktion in insgesamt 6 Zeilen hin.
Nur die Dateinamen ohne Pfad bekommt man auch mit glob(), allerdings muss man dafür in das Verzeichnis wechseln. Damit man sich wegen der rekursiven Aufrufe nicht "verläuft" sollte man sich am Funktionsanfang das aktuelle Verzeichnis merken (getcwd()), dann in das zu scannende Verzeichnis wechseln (chdir()). Die beiden glob-Aufrufe bekommen nun nur noch das Dateinamen-Muster beziehungsweise einen einzelnen * übergeben. Am Ende vor dem return stellt man das Verzeichnis wieder auf den zuerst gemerkten Wert zurück. Ergibt drei zusätzliche Zeilen.
dedlfix.