2009-08-19 3 views
1

Я пытаюсь наблюдать за изменением файла в длинном сценарии php. Основной алгоритм таков:Как просмотреть изменения mtime в процессе php-скрипта?

... 
$mtime = filemtime($filename); 
sleep($delay); 
if($mtime < filemtime($filename)) 
    ... // do something because file was changed elsewhere 

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

Помогите с советом о том, как получить последние времени модификации?

ответ

2

Взгляните на http://php.net/clearstatcache:

При использовании стат(), lstat(), или любой из других функций, перечисленных в списке пострадавших функций (ниже), PHP кэширует информацию эти функции возвращают в порядке для обеспечения более высокой производительности. Однако в некоторых случаях вам может понадобиться очистить кешированную информацию.

Редактировать: Вы хотите, чтобы это выполнялось для конкретной операционной системы? Тогда были бы другие возможности уведомления (возможно, требующие чего-то другого, кроме php).

+0

Да, вызов 'clearstatcache()' делает трюк, большое спасибо. – zzandy

 Смежные вопросы

  • Нет связанных вопросов^_^