【发布时间】:2013-05-10 09:37:57
【问题描述】:
我对 cURL 还很陌生,我正在寻找一个好的脚本来使用 cURL 将远程文件下载到我的服务器。我发现是这样的:
<?php
$url = 'http://www.example.com/a-large-file.zip';
$path = $_SERVER['DOCUMENT_ROOT'] . '/downloads/a-large-file.zip';
$fp = fopen($path, 'w');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
这个脚本是here,它在某种程度上有效。虽然在文章中说这段代码不存在 php 内存限制的问题,它只是下载了正好 8 MB 的文件,无论文件大小。
有谁知道这个限制来自哪里以及如何克服它?
【问题讨论】:
-
下载文件没有限制,您的所有服务器都需要带宽和可用空间来存储文件。
-
@WaqarAlamgir,我认为这不是存储问题,因为我尝试下载了几个文件,但所有文件都停在 8 MB。至于带宽,服务器可以限制单个文件传输吗?如果是这样,那是有可能的。
-
你能确定example.com/a-large-file.zip的文件不是8MB
-
@WaqarAlamgir,我测试脚本的文件之一是:mirror.cogentco.com/pub/mysql/MySQL-5.6/… (32 MB),我仍然得到 8 MB 的部分。