Php. Как вывести список файлов, упорядоченный по дате?

Главная  >>  Backend  >>  Php. Как вывести список файлов, упорядоченный по дате?

Сейчас занимаюсь подготовкой к реализации автоматического бекапа на Amazon S3 (об этом скоро будет цикл статей) и стала задача мониторить файлы в определенной папке. Причем не просто мониторить, а определять, какой из них является последним добавленным.

Стало быть нужно получить список файлов, с сортировкой по дате добавления. Функция scandir(), к сожалению, решает только проблему получения списка файлов — т.к. она сортирует вывод по имени.

Решение было найдено в интернете и немного «стилизировано» под себя.

Скормив на входе путь к папке, на выходе мы получим список файлов в ассоциативном массиве. Ключ этого массива — таймштамп изменения файла и само название файла (это сделано для исключения возможности наложения файлов), а значение — название файла.

Таким образом в нулевой позиции результирующего массива Вы получите самый новый или самый старый файл (в зависимости от использования krsort и ksort).