Получить filemtime для последнего обновленного файла в папке

У меня есть папка с 4 файлами в ней, и я хотел бы вытащить время последнего изменения самого последнего (которое может не всегда совпадать). Есть ли хороший способ сделать это?

2 ответа

Решение

Используйте DirectoryIterator, чтобы найти файлы, а затем просто сравните их измененное время. Это должно сделать это:

$iterator = new DirectoryIterator('path/to/dir');

$mtime = -1;
$file;
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        if ($fileinfo->getMTime() > $mtime) {
            $file = $fileinfo->getFilename();
            $mtime = $fileinfo->getMTime();
        }
    }
}

Нет необходимости перебирать каталог - filemtime будет работать для большинства серверов (в зависимости от вашей конфигурации):

$LastMod = filemtime("/path/to/dir/.");

Последняя точка необходима для просмотра каталога в виде файла и для получения последней даты его модификации.

Другие вопросы по тегам