Время создания файла

Как отсортировать каталог по созданию файла, последний раз в PHP 5.2?

Я нахожусь в Windows 2000.

В окнах CTime – это время создания, используйте следующее:

<?php $files = array(); foreach (new DirectoryIterator('/path') as $fileInfo) { $files[$fileInfo->getFileName()] = $fileInfo->getCTime(); } arsort($files); 

После этого $ files будет содержать массив ваших имен файлов в качестве ключей и ctime в качестве значений. Я выбрал это обратное представление из-за возможности идентичных ctimes, из-за чего запись в $ файлах была бы перезаписана.

Редактировать:

Обновленный ответ на использование CTime, поскольку OP выяснил, что он использует Windows.

Время создания файла не существует в большинстве операционных систем.

Вы не можете создать дату в системе Unix, но для даты изменения, но см. Ниже для Windows.

Код выглядит следующим образом:

 function sortByChangeTime($file1, $file2) { return (filectime($file1) < filectime($file2)); } $files = glob('*'); // get all files in folder usort($files, 'sortByChangeTime'); // sort by callback var_dump($files); // dump sorted file list 

Из примечаний к PHP-руководству по файлу :

Примечание. Обратите внимание также, что в некоторых текстах Unix время ctime файла называется временем создания файла. Это не верно. Не существует времени создания файлов Unix в большинстве файловых систем Unix.

См. Ссылку в ответах Antti на различия в ctime, atime и mtime и решите для своей Usecase, которая наиболее подходит, когда вы находитесь в Unix.

Изменить : один из комментариев на странице для примечаний filectime, что нет времени на изменение в Windows, и filectime действительно возвращает время создания . Я не профессионал в Windows Filesystems, но использование вышеописанного – это, вероятно, ваш лучший выбор. Кроме того, вы можете изучить COM API, чтобы получить дескриптор на ScriptingHost и посмотреть, сможете ли вы получить время создания оттуда.