PHP Sleep()函数不起作用,else语句继续读取旧文件

时间:2015-03-05 14:59:08

标签: php if-statement sleep

ignore_user_abort();
set_time_limit(0);
$interval=60;
$flag=true;
file_put_contents("log.log","Starts \r\n");

while($flag){

  date_default_timezone_set("America/New_York");
  $mytime=date("y/m/d h:i:sa");   
  $file = fopen("C:/work/testData/test.txt","r"); 
  $myfile=fread($file,filesize("C:/work/testData/test.txt"));

  if(stristr($myfile,"Finish writing tables")){
    file_put_contents("log.log","Finished! Ready To Send Email $mytime         \r\n",FILE_APPEND);                                
    $flag=false;    
   }else{
    file_put_contents("log.log","Still Running $mytime $myfile     \r\n",FILE_APPEND);          
   }   

fclose($file);
sleep($interval);
}

我希望代码每隔60秒读取一次test.txt,一旦test.txt包含字符串“Finish writing tables”,然后停止。 Test.txt文件由其他应用程序同时更新。我发现在else {}中,每60秒它没有读取更新的test.txt文件,仍然读取旧的test.txt

非常感谢

1 个答案:

答案 0 :(得分:0)

问题解决了。

在fclose()

之后添加clearstatcache()