私はファイルの変更を知るためにPHPループを使用しています。ファイルの変更が発生した場合、私はループを停止しようとしています。しかし、停止する代わりに私の状態で..ループが続く。PHPループが破損しない
Route::get('api.chat.buffer/{job_id}',function($job_id){
$award= DB::table('job_awards')->where('job_id',$job_id)->first();
$dirname = base_path().'/files/chat/';
$filename = $award->client_id.'_'.$award->user_id.'.timelog.log';
$i =1;
for($z=0;$z<=20;$z++){
$current_file_time = filemtime($dirname.$filename);
if($_GET['timestamp']<$current_file_time){
echo json_encode(array('status'=>'success','data'=>$current_file_time,'node'=>1)); die;
break;
}
sleep(1); // this should halt for 3 seconds for every loop
}
echo json_encode(array('status'=>'success','data'=>$current_file_time,'node'=>0));
die;
});
私はチャットスクリプトを作成し、ファイルの変更中に変更を追跡しています。
ありがとうございました
この行は 'echo json_encode(array '' status '=>' success '、' data '=> $ current_file_time、' node '=> 1)です。死ぬ; 'が実行される?なぜあなたはそれに 'die 'を追加しましたか? – Maraboc
いいえ...それでも条件は一致していますが、常にそうではありませんノード=> 0最後の行 –
if文の前に、 'echo $ _GET ['timestamp']'と ' echo $ current_file_time'この条件が満たされているかどうかを確認しますか? – Maraboc