使用file_get_contents下载大文件时出错

时间:2011-08-04 10:43:57

标签: php url file-get-contents

当我使用带有$ offset的file_get_contents时!= -1返回false 我想从URL获取的文件非常大。 是否可以将偏移参数与非本地文件一起使用?

我使用它的代码:

 $content = file_get_contents($encodedurl,false,NULL,$offset,$blocksize);

1 个答案:

答案 0 :(得分:1)

PHP documentation说:

  

远程文件不支持寻找(偏移)。试图寻找非本地文件   可以使用小的偏移,但这是不可预测的,因为它   适用于缓冲流。

如果您的文件非常大,那么我认为您最好的选择是编写自己的函数来模拟对资源的HTTP GET请求。然后,您可以在缓冲的基础上读取文件,这样您就可以将16MB的文件块存储到磁盘上,一旦完全下载,您就可以将其重新组合到一个文件中。或者根据需要将其处理为块。