PHP cURL 下载大文件

有时候需要使用 PHP 下载文件并保存。对于小文件可以保存在内存中,然后写到本地;但是对于较大文件,往往会导致内存超限。

故记一次使用 PHP cURL 下载大文件的方法。

方法一

$ch = curl_init();

// ...

$fstream = fopen('file.zip', 'wb');    //打开文件
curl_setopt($ch, CURLOPT_BUFFERSIZE, 4 * 1024 * 1024);    //4MB Buffer
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch ,$buffer) use($fstream) {
    fwrite($fstream, $buffer);
    return strlen($buffer);
});

$result = curl_exec($ch);
curl_close($ch);
fclose($fstream);

方法二

$ch = curl_init();

// ...

$fstream = fopen('file.zip', 'wb');    //打开文件
curl_setopt($ch, CURLOPT_BUFFERSIZE, 4 * 1024 * 1024);    //4MB Buffer
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);    //直接输出
curl_setopt($ch, CURLOPT_FILE, $fstream);    //设置输出文件流

$result = curl_exec($ch);
curl_close($ch);
fclose($fstream);

本文链接:

https://blog.nkxingxh.top/archives/267/
1 + 5 =
快来做第一个评论的人吧~