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); // используя методы krsort и ksort можем влиять на порядок сортировки
return $list;
}
Использование:
$list=listdir_by_date('data/');
Где data/
относительный путь к папке с файлами, которую нужно вывести. В результате в переменной $list
мы получим ассоциативный массив содержащий имя файлу и дату его создания. Массив упорядочен по убыванию даты.
Естественно часть сниппета, которая добавляет записи в массив можно изменить в соответствии с требованиями к выводу, я, например, делаю двумерный массив, первый уровень которого в ключе содержит дату создания, а в каждой записи-дате хранится массив с именами файлов.