Как узнать время последнего изменения каталога? - PullRequest
1 голос
/ 07 сентября 2011

Я смотрел на этот другой вопрос:

Дата последнего изменения каталога

, который говорит мне, как работает материал, но на самом деле не дает никакого решения.Как бы узнать время последнего изменения каталога?Я бы использовал это время, чтобы определить, нужно ли мне очищать кеш, содержимое которого рассчитывается по содержимому каталога.

Один из вариантов - просмотр через каждый файл и подпапку, но это, вероятно, полностьюОтрицаем любые преимущества кэширования в первую очередь.Насколько я могу судить, «mtime» и другие метаданные для файлов / папок где-то кэшируются и фактически не требуют чтения файла каждый раз, когда вы хотите проверить (что является причиной того, что проверка mtime для каждого файла memcached по-прежнемунамного быстрее, чем загрузка самих файлов, даже если они крошечные).

Итак ... есть ли хороший, быстрый способ получить последнюю модифицированную метку времени всего каталога?

1 Ответ

0 голосов
/ 07 сентября 2011

Ну, вы всегда можете выполнить ls -la, чтобы получить временную метку файлов каталогов, но я не думаю, что это то, что вы спрашиваете.

Вы не указали, на каком языке или среде вы хотели, чтобы это было решено, но это довольно просто в php:

$filename = 'includes/';
if (file_exists($filename)) {
    echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename));
}
//echos includes/ was last modified: September 06 2011 17:51:10.

Эта информация кэшируется операционной системой, но вы можете стереть этот кеш с помощью:

http://www.php.net/manual/en/function.clearstatcache.php

...