Hi!
Aber: readdir() ist eine Möglichkeit, aber es gibt bessere: glob(). Das sortiert gleich mit, allerdings aufsteigend.
Die glob-Funktion ist aber ebenso wie readdir nur ein Teil der Lösung und bietet mir nicht das, was ich suche. Schließlich werden damit alle Dateien des Verzeichnisses bzw. alle mit einer bestimmten Dateiendung aufgelistet. Ich möchte aber erreichen, dass jeweils nur die jüngste (oder zweit-/drittjüngste) Datei ausgegeben wird.
Ich verstehe deinen Hang zur Datensparsamkeit, jedoch: es geht so nicht. Es gibt keine Funktion zur Ermittlung _nur_ der neuesten Datei, weder anhand des Timestamps noch über den Dateinamen, der die Datumsangabe enthält. Du musst zwingend alle Datein einleden und darin diejenigen suchen, die du willst.
Wenn du dir dabei deutlich mehr Arbeit machen willst als mit dem glob()-Dreizeiler, dafür aber das Anlegen des Arrays sparen willst, nimm readdir() und merk dir die ersten drei Dateien. Bei allen weiteren vergleichst du, ob die aktuelle Datei neuer als eine der drei gemerkten ist, wirfst dann die älteste von ihnen weg und legst an ihre Stelle die aktuelle.
Lo!