使用file_get_contents下载大文件时出错
当我使用 file_get_contents 和 $offset != -1 返回 false 我想从 URL 获取的文件非常大。 是否可以对非本地文件使用偏移参数?
我使用它的代码:
$content = file_get_contents($encodedurl,false,NULL,$offset,$blocksize);
When i use file_get_contents with $offset != -1 returns false
The file i want to get from a URL is very large.
Is it possible to use offset parameter with non local file?
The code that i use it:
$content = file_get_contents($encodedurl,false,NULL,$offset,$blocksize);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
PHP 文档 说:
如果您的文件非常大,那么我认为您最好的选择是编写自己的函数来模拟对资源的 HTTP GET 请求。然后,您可以在缓冲的基础上读入该文件,这样您就可以将文件块(例如 16MB)存储到磁盘上,并且一旦完全下载完毕,您就可以随时将其重新组合成一个文件。或者根据需要将其处理为块。
The PHP documentation says:
If your file is very large, then I think your best bet would be to write your own function which simulates a HTTP GET request to the resource. You can then read the file in on a buffered basis, that way you can store, say 16MB, chunks of the file onto disk, and once it has been fully downloaded you can always recombine this into one file. Or process it as chunks as required.