PHP СОРТИРОВКА ФАЙЛОВ ПО ДАТЕ
Для многих веб-разработчиков задача сортировки файлов на основе даты является частой и важной. В PHP есть несколько способов выполнения такой сортировки, но одним из самых удобных является использование функции usort()
.
Перед выполнением сортировки необходимо получить дату каждого файла. Для этого у некоторых файлов может уже быть свойство filemtime()
, которое возвращает метку времени последней модификации файла. Но у других файлов не может быть такого свойства или оно может содержать некорректную дату.Поэтому наиболее надежным способом получения даты является парсинг даты из имени файла.
$files = glob("path/to/files/*.txt");
foreach ($files as $file) {
$date = date("Y-m-d H:i:s", strtotime(pathinfo($file, PATHINFO_FILENAME)));
}
Теперь каждый файл имеет свою дату, и мы можем использовать функцию usort()
, чтобы отсортировать их по дате. Функция usort()
принимает массив и пользовательскую функцию сравнения. В нашем случае пользовательская функция будет сравнивать даты файлов в формате метки времени.
function cmp($a, $b) {
return filemtime($a) - filemtime($b);
}
usort($files, "cmp");
Теперь файлы в массиве $files
отсортированы по дате. Можно перебрать их в цикле и использовать по своему усмотрению.
Сортировка массивов в PHP
25. Сортировка и фильтрация папок и файлов
Быстрая сортировка массива на языке PHP - Алгоритмы и Блок схемы
Уроки PHP 7 - Как сделать форму Upload файла
Работа с файлами. Практический PHP
Уроки PHP 7 - Функции даты и времени. Date(). Time().
Как Заработать на Upwork (за 10 минут!) - Все о Фрилансе на Апворк - Из России тоже можно!
Уроки PHP #8 Функции для работы с датой и временем