Иногда нужно сделать так, чтобы список файлов вываливался отсортированным не по имени, и не хаотично, а по дате создания. Это легко сделать на PHP с помощью сниппета:
function listdir_by_date($path){ $dir = opendir($path); $list = array(); while($file = readdir($dir)){ if ($file != '.' and $file != '..'){ // кроме даты создания файлы добавляем ещё и имя // чтобы удостоверится, что мы не заменяем ключ массива // $ctime = filectime($data_path . $file) . ',' . $file; // UPD: $ctime = filectime($path . $file) . ',' . $file; $list[$ctime] = $file; } } closedir($dir); krsort($list); return $list; }
Использование:
$list=listdir_by_date('data/');
Где ‘data/’ относительный путь к папке с файлами, которую нужно вывести.
В результате в переменной $list мы получим ассоциативный массив содержащий имя файлу и дату его создания. Массив упорядочен по убыванию даты.
Естественно часть сниппета, которая добавляет записи в массив можно изменить в соответствии с требованиями к выводу, я, например, делаю двумерный массив, первый уровень которого в ключе содержит дату создания, а в каждой записе-дате хранится массив с именами файлов.