Можем ли мы получить Модифицированное время и размер каталога, то есть статистику?

Можем ли мы получить Модифицированное время и размер каталога, то есть статистику в php? Как?

Да. Вы можете использовать функцию stat

$stat = stat('\path\to\directory'); echo 'Modification time: ' . $stat['mtime']; // will show unix time stamp. echo 'Size: ' . $stat['size']; // in bytes. 

Вы можете получить модифицированное время с помощью filemtime или SplFileInfo::getMTime .

Что касается получения размера каталога, вы имеете в виду размер файла всего содержимого внутри него (может показаться глупым вопросом, размер неоднозначен)?

Если вам требуется только зарегистрированный «файлize» каталога, тогда необходимо будет SplFileInfo::getSize filesize или SplFileInfo::getSize .

 $dir = new SplFileInfo('path/to/dir'); printf( "Directory modified time is %s and size is %d bytes.", date('d/m/YH:i:s', $dir->getMTime()), $dir->getSize() ); 

Для меня использование filemtime работало просто отлично.

пример

 <?php $path_to_file = '/tmp/'; echo filemtime($path_to_file); // 1380387841 

Несмотря на то, что он называется «файл mtime», он также работает для каталогов.

Caveat / Gotcha

Убедитесь, что файл или каталог, который вы проверяете, существуют, иначе вы получите что-то вроде:

filemtime (): сбой stat для / asdfasdfasdf в test.php в строке 3

Возможные исправления включают в себя что-то «правильное»:

 $path = '/tmp/'; $mtime = file_exists($path)?filemtime($path):''; 

И что-то менее подробное, но хакерское с помощью оператора подавления ошибок ( @ ):

 $path = '/tmp/'; $mtime = @filemtime($path); 

Из руководства

filemtime ()

int filemtime (строка $ filename )

Эта функция возвращает время, когда записываются блоки данных файла, то есть время, когда содержимое файла было изменено.