从URL将文件下载到服务器
好吧,这看起来很简单,确实如此。将下载" title="文件下载">文件下载到服务器所需要做的就是:
file_put_contents("Tmpfile.zip", file_get_contents("http://someurl/file.zip"));
只有一个问题。如果文件很大,例如100mb,该怎么办?然后,您将耗尽内存,并且无法下载文件。
我想要的是一种在下载文件时将文件写入磁盘的方法。这样,我可以下载更大的文件,而不会遇到内存问题。
回答:
从PHP
5.1.0开始,file_put_contents()
支持通过传递流句柄作为$data
参数来逐段编写:
file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r'));
从手册中:
如果 [是第二个参数]是流资源,则该流的剩余缓冲区将被复制到指定的文件。这与使用相似
stream_copy_to_stream()
。
)
以上是 从URL将文件下载到服务器 的全部内容, 来源链接: utcz.com/qa/418853.html