Php filehandler cron作业需要睡眠才能无错误运行

Php filehandler cron作业需要睡眠才能无错误运行,php,file-io,fopen,Php,File Io,Fopen,以下代码每36小时随机中断一次。确保info.txt的正确性。一个简单的打印“test”或睡眠(1)在$handle和的行之间,而可以解决问题,但为什么 $handle = fopen("http://www.domain.do/info.txt", "r"); while (!feof($handle)) { // [do stuff] } fclose ($handle); 代码由cron作业运行。添加sleep()或一些延迟将使fopen有时间从位置检索文件。。。我推测“随机”效应可

以下代码每36小时随机中断一次。确保info.txt的正确性。一个简单的
打印“test”
睡眠(1)
$handle
的行之间,而
可以解决问题,但为什么

$handle = fopen("http://www.domain.do/info.txt", "r");
while (!feof($handle)) {
  // [do stuff]
}
fclose ($handle);
代码由cron作业运行。

添加sleep()或一些延迟将使fopen有时间从位置检索文件。。。我推测“随机”效应可能是网络上的流量导致检索时间比平时稍长

您可以尝试使用cURL检索数据:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.domain.do/info.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);

$output
将包含文件的内容,因此您需要将字符串拆分为一个数组,可能需要使用换行符作为分隔符。。。只是猜测,不知道文件的内容:)

非常感谢。这项工作在短期内工作,没有错误,没有卷曲。我还要长期检查一下。7天后我会给你反馈。

你建议如何解决这个问题/在处理之前检查文件是否已完全检索?