我正在使用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;
});
我正在创建聊天脚本并在文件更改时跟踪更改。
由于
答案 0 :(得分:0)
你可以在for循环中使用sleep函数吗?你试过产量了吗?尝试分配循环语句的数量来打破;在这种情况下,它将中断1; http://php.net/manual/en/control-structures.break.php