使用curl访问远程文件的一部分

时间:2012-08-02 11:36:10

标签: php curl

我需要将远程文件下载到我的服务器, 我找到了一种使用curl下载的方法。 fopen ..不起作用,因为禁用了url文件访问。 我只想下载几百MB的文件,这些文件将是100mb到几Gb的大小。

1 个答案:

答案 0 :(得分:1)

是的,您可以使用CURLOPT_RANGE

下载很少MB的大文件

示例

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://link-to-large-file');

/**
 * First 2MB of that file 
 */
curl_setopt($ch, CURLOPT_RANGE, '0-2000');
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo $result

您还可以将其与CURLOPT_WRITEFUNCTION结合使用,您可以在其中创建自定义回调以编写文件的特定部分