ながら、私は手元に次のような問題を持っている:PHPファイルのアップデートのための(真の)ループ
私は2つの別々のページにユーザーを持つが、同じテキストファイルにページの入力を保存しています。一方のユーザーは編集中ですが、もう一方のユーザーは編集できません。私はセッションでこのことを把握しており、変更を書き、誰がそれを編集するかはファイルになっています。
作品罰金は、これまでのところ、最終的には出力は、チャットと非常によく似ています。しかし、今、私はユーザーに手動で自分のページを実現させて、ファイルをリロードするようにしています。私がしたいのは、ファイルタイムスタンプが変更されたときにページがリダイレクトを実行するようにすることです(最後のユーザーが編集内容を保存し、別のユーザーがそれを回したことを示すため)。 JavaScriptのショートポーリングを少し見てきましたが、PHPのフィルムタイム機能を見つけて使いやすくなっています。よく、ここに私が持っているものがあります:
while(true){
$oldtimestamp=filemtime(msks/$session['user']['kampfnr'].txt);
$waittimer=2;
$waittimer++;
sleep($waittimer);
$newtimestamp=filemtime(msks/$session['user']['kampfnr'].txt);
if ($eintragszeit2 > $eintragszeit1){
addnav("","kampf_ms.php?op=akt");
redirect("kampf_ms.php?op=akt");
}}
理論的には、ユーザーは出力が「ファイルを編集しようとしています」と思っています。これはバックグラウンドでループして、ファイルがすでに更新されているかどうかをチェックし、そうであればユーザーをリダイレクトします。
それはエラーメッセージを超えメモリーで破断するまで実際にこれは頻繁に(私は、共有ホスティングでよ)サーバーもパフォーマンスに影響を与えます。
は、コードで何かが間違っていますか?または、この場合、whileループを使用することは一般的には悪い考えですか?
ありがとうございます!