用PHP下载远程文件

用PHP下载远程文件,php,download,Php,Download,可能重复: 是否可以从另一台服务器提供文件,并更改名称。 我已将所有文件上载到另一台服务器,但名称已更改。我想点击此服务器并从中获取文件,但想更改其名称。 我写了一个简单的curl脚本,但这也给我的php服务器增加了额外的流量,所以我会为每个文件支付两次账单,如果文件大小增加,还会使用更多的php内存。网站可能会崩溃 $init = curl_init(); curl_setopt_array($init, $opArray); $myFile = curl_exec($init); $i

可能重复:

是否可以从另一台服务器提供文件,并更改名称。 我已将所有文件上载到另一台服务器,但名称已更改。我想点击此服务器并从中获取文件,但想更改其名称。 我写了一个简单的curl脚本,但这也给我的php服务器增加了额外的流量,所以我会为每个文件支付两次账单,如果文件大小增加,还会使用更多的php内存。网站可能会崩溃

$init   = curl_init();
curl_setopt_array($init, $opArray);
$myFile = curl_exec($init);
$info   = curl_getinfo($init); 
curl_close($init);
headers ....
echo File

我只对标题部分感兴趣,但为此,我需要将文件放入php服务器,这可以避免吗?

您可以使用以下标题:

Content-Type: xxx/xxx
Content-Disposition: attachment; filename=theFilenameYouWant.xxx
如果要避免大量内存消耗,并且使用Apache作为web服务器,可以查看modxsendfile:


该过程与任何本地文件的过程相同。唯一的区别是使用URL而不是路径名,而不是本地文件。是否使用cURL或仅使用任何启用流的函数取决于您。reference x-sendfile仅适用于本地文件,而不适用于远程文件。