Moin,
Der schnellste und einfachste Weg, an einen Verzeichnisinhalt zu gelangen: glob(). Um die Ordner auszusortieren, kann man das Flag GLOB_MARK hinzufügen und Verzeichnisse am angehängten / erkennen, ohne noch extra is_dir() abzufeuern. GLOB_NOSORT spart hier auch noch unbedeutenderweise ein klein wenig Zeit, weil ja nach einem eigenen Kriterium sortiert werden soll.
Das kann man alles so machen; ich bevorzuge nach wie vor die klassische Methode.
Außerdem gibt es noch diverse Dateisystemiteratoren, die gleich Objekte liefern, bei denen man die Zugriffszeiten mittels eines Methodenaufrufs ermitteln kann.
Hier muss man sich aber bewusst sein, dass objektorientierte Syntax vonnöten ist. Für "Amateure" (ohne dem OP zu nahe treten zu wollen), die von objektorientierter Programmierung nicht viel verstehen, sind Iteratoren vielleicht nicht primär das Mittel der Wahl.
Nein, das ist nicht empfehlenswert, weil diese Daten nicht im Microsekundenbereich vorgehalten werden und somit nicht eindeutig und als Key ungeeignet sind. Die Dateinamen sind hingegen eindeutig und problemlos als Key verwendbar.
Das stimmt, das hatte ich nicht bedacht. Aber dann macht man es umgekehrt und sortiert nach den Werten.
Grüße Marco