Артем Л.
11416 сообщений
#11 лет назад
Подскажите пожалуйста, есть ли какая-то возможность ограничить по размеру закачку при использовании CURL?
К примеру обращаемся курлом к ресурсу, который весит несколько гигабайт, но нам надо ограничить заказчку одни мегабайтом.
Можно как-то ограничить/оборвать закачку?
Антон Т.
167 сообщений
#11 лет назад
$offset = 0;
$size = 10*1024;

$a = $offset;
$b = $offset + $size-1;

curl_easy_setopt(curlHandle, CURLOPT_HTTPHEADER, array("Range: bytes=$a-$b") );
Артем Л.
11416 сообщений
#11 лет назад
Ну это не вариант, не все сервера поддерживают Range
Антон Т.
167 сообщений
#11 лет назад
Hungry_Hunter,

$curl_url = ';;
$curl_handle = curl_init($curl_url);

$data_string = "";
function write_function($handle, $data) {
global $data_string;
$data_string .= $data;
if (strlen($data_string) > 1000) {
return 0;
}
else
return strlen($data);
}

curl_setopt ($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt ($curl_handle, CURLOPT_WRITEFUNCTION, 'write_function');

curl_exec($curl_handle);

echo $data_string;
Артем Л.
11416 сообщений
#11 лет назад
Отлично! Спасибо большое! Век живи, век учись