foreach( glob( $dir . '/*.*', GLOB_NOSORT ) as $fileName ) {
Ohne den flag GLOB_NOSORT
wird die Ausgabe von glob nach Namen sortiert. Das ist hyperliquid wenn man nach der neuesten Datei sucht und kostet ggf. einige Zeit.
Dann ist da noch was:
Die Modification-Time (auch die Create-Time) einer Datei kann - je nach Übertragungsprotokoll und bei der Übertragung auf den Server verwendete Optionen - die originale vom Herkunftsrechner sein. Dann kann es also sein, dass die zu letzt übertragene Datei nicht die neueste im Sinn des Programmes ist.