gpt4 book ai didi

php - 如何设置 PHP cURL 下载的最大大小限制?

转载 作者:行者123 更新时间:2023-12-02 21:45:35 27 4
gpt4 key购买 nike

PHP cURL 下载有最大大小限制吗? IE。当传输达到一定的文件限制时,cURL 会退出吗?

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);

它用于下载远程图像的站点。我想确保 cURL 在达到一定限制时会停止。

我的研究还表明 getimagesize() 下载图像以返回其大小,因此它不是一个选项。

最佳答案

我有另一个答案可以更好地解决这个问题,可以留给后代。

CURLOPT_WRITEFUNCTION 对此很有用,但 CURLOPT_PROGRESSFUNCTION 是最好的

// We need progress updates to break the connection mid-way
curl_setopt($cURL_Handle, CURLOPT_BUFFERSIZE, 128); // more progress info
curl_setopt($cURL_Handle, CURLOPT_NOPROGRESS, false);
curl_setopt($cURL_Handle, CURLOPT_PROGRESSFUNCTION, function(
$DownloadSize, $Downloaded, $UploadSize, $Uploaded
){
// If $Downloaded exceeds 1KB, returning non-0 breaks the connection!
return ($Downloaded > (1 * 1024)) ? 1 : 0;
});

请记住,即使 PHP.net states^对于CURLOPT_PROGRESSFUNCTION:

A callback accepting five parameters.

我的本​​地测试仅包含四 (4) 个参数,因为第一个(句柄) 不存在。

关于php - 如何设置 PHP cURL 下载的最大大小限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17641073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com