2009-08-19 6 views
1

J'essaie de regarder un fichier en cours de modification dans un script PHP long terme. L'algorithme de base est la suivante:Comment regarder les changements mtime dans le cours du script php?

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

problème est filemtime renvoie la même valeur withing même script, par exemple Si un script s'exécute pendant 10 minutes, il obtiendra toujours le même temps de modification, indépendamment des modifications apportées au fichier dans le même script ou par d'autres moyens.

S'il vous plaît aider avec un conseil sur la façon d'obtenir réellement le dernière temps de modification?

Répondre

2

Jetez un oeil à http://php.net/clearstatcache:

Lorsque vous utilisez stat(), lstat(), ou l'une des autres fonctions énumérées dans la liste des fonctions concernées (ci-dessous), PHP met en cache les informations que ces fonctions renvoient pour pour fournir des performances plus rapides. Toutefois, dans certains cas, vous souhaiterez peut-être effacer les informations mises en cache.

edit: Voulez-vous que cela fonctionne pour un système d'exploitation spécifique? Ensuite, il y aurait d'autres possibilités de notification (peut-être exiger autre chose que php).

+0

Oui, appeler 'clearstatcache()' fait l'affaire, merci beaucoup. – zzandy

Questions connexes