2009-08-19 5 views
1

私は、長い実行中のPHPスクリプトで修正されているファイルを監視しようとしています。基本的なアルゴリズムはこれです:どのようにPHPスクリプトの過程でmtimeの変更を見て?

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

問題はfilemtimeあり、例えば、同じスクリプトをwithing同じ値を返します。たとえば、スクリプトが10分間実行された場合、同じスクリプト内でファイルに行われた実際の変更や他の手段にかかわらず、常に同じ変更時刻が適用されます。

最新の変更時刻についてのアドバイスをお待ちしておりますか?

答えて

2

http://php.net/clearstatcacheを見てみましょう:あなたはSTATを使用する場合

()、LSTAT()、または(下)影響を受ける関数のリストに記載されている他の機能のいずれか、PHPが順番にこれらの関数が返す情報をキャッシュパフォーマンスを向上させます。ただし、キャッシュされた情報をクリアしたい場合があります。

編集:これを特定のオペレーティングシステムで実行しますか?その後、他の通知の可能性があります(おそらくPHP以外のものが必要です)。

+0

はい、 'clearstatcache()'を呼び出すことはトリックです、多くのありがとう。 – zzandy

関連する問題