从URL下载文件到服务器

385

这个问题似乎很简单,而且确实如此。要将文件下载到您的服务器,您只需要执行以下操作:

file_put_contents("Tmpfile.zip", file_get_contents("http://someurl/file.zip"));

只有一个问题。如果你有一个大文件,比如100MB。那么,你将会用尽内存,并且无法下载该文件。

我想要的是一种在下载文件时将文件写入磁盘的方法。这样,我就能够下载更大的文件,而不会遇到内存问题。


4
这是设置在您的服务器配置中的,据我所知,PHP无法绕过它(除非直接进行.ini编辑)。 - Ben
12个回答

1
简单的解决方案:
<?php 
exec('wget http://someurl/file.zip');

请确保您的服务器上安装了wget。 - webHasan
wget可用于系统错误 ======> errorCode=1 SSL/TLS握手失败:TLS连接未被正确终止。 - Netwons
连接到 www.you.com (www.you.com)|178.79.180.188|:443... 已连接。 - Netwons

0

最佳解决方案

在系统中安装 aria2c &

 echo exec("aria2c \"$url\"")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接