我正在调用下面的内容:
我正在调用以下内容:
while ( (!file_exists('./download/ah141090676723_100.jpg')) || (filesize('./download/ah141090676723_100.jpg') == '1359') ) { code that retrieves a remote file and writes it to '/ah141090676723_100.jpg' }
...并且出现“filesize():stat failed for ./download/ah141090676723_100.jpg”错误。
我正在尝试解决的问题是远程服务器不稳定,有时会返回垃圾响应(始终为1359字节)。因此,我想检查一下A)文件不存在(第一次运行),或者B)文件等于垃圾(1359);如果其中任何一个为真,请尝试抓取和写入文件。反复操作,直到获得不是垃圾的东西。
实际上,代码似乎在起作用——文件被检索和写入,并且我没有让任何垃圾响应通过这个循环——但是错误让我感到困惑。我认为可能是在第一次运行时,文件不存在,因此filesize会引发这个错误。但是"||"运算符应该防止第一次运行时进行第二次评估……对吗?
我应该提到,在检索/写入之后,我在循环内调用了"clearstatcache();"。
任何帮助都表示感激!
斯科特