ファイルがphpスクリプトから別のプロセスによってアクセスまたは変更されていることを確認する方法はありますか? filemtime()、fileatime()、および filectime() 関数を使用しようとしましたが、継続的にチェックしているループ内にスクリプトがありますが、スクリプトが実行されると、最初から時間がかかるようですファイルがチェックされました..例は、FTPまたはSMB共有にファイルをアップロードすることです。私はこれを以下で試みました
while(1==1)
{
$LastMod = filemtime("file");
if(($LastMod +60) > time())
{
echo "file in use please wait... last modified : $LastMod";
sleep(10);
}else{
process file
}
}
ファイルが絶えず変化していることはわかっていますが、$LastMod 変数は更新されていませんが、プロセスを終了して再度実行すると、ファイルから新しい $LastMod が取得されますが、ファイルがループでチェックされるたびに更新されないようです。
私もfilesize()を見てこれを試みましたが、flock()も調べたのと同じ症状が出ましたが、ファイルがPHPの外部で作成または変更されたため、これがどのように機能するかわかりません。
誰か解決策があれば教えてください
ありがとう Vip32
PS。PHP を使用してファイルを処理し、必要に応じて mysql とやり取りし、外部 Web サイトにクエリを実行する