使用cURL下载大文件?

时间:2013-05-10 09:37:57

标签: php curl

我是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 ,无论文件的大小。

有没有人知道这种限制来自何处以及如何克服它?

4 个答案:

答案 0 :(得分:0)

问题可能与超时有关吗? 尝试添加

curl_setopt($ ch,CURLOPT_TIMEOUT,300); //其中300是秒数

答案 1 :(得分:0)

尝试增加php.ini中的memory_limit。在PHP 5.2.0之前默认为8M。

答案 2 :(得分:0)

尝试在脚本顶部使用此功能

set_time_limit(0);

答案 3 :(得分:-1)

我发现问题出在哪里:脚本运行良好,但这是服务器的限制。我没有注意他们的政策,该政策明确规定不允许上传大于8 MB的文件。