lo que sucede es que las funciones de ordenación no tienen la capacidad de adivinar por donde comenzar a ordenar, vaya, que debiste leer el manual...
ya que con arreglos de datos sencillos, osea, de una sola dimensión es fácil ordenar por valor y clave, en caso de arreglos de varias dimensionas ya cambia la cosa....
en todo caso deberías usar la fecha de modificación del archivo con
filemtime() para crear el índice con la fecha sin formato como
integer, luego ordenas el arreglo con una función personalizada...
claro que, debes escribir dicha función
callback para ordenar el arreglo, y que siempre verifique dicho índice de la fecha....