, поэтому я пытаюсь получить содержимое изображения (первые 700 байт) с удаленного сайта:
$headers = array(
"Range: bytes=0-700"
);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$raw = curl_exec($curl);
curl_close($curl);
@$im = imagecreatefromstring($raw);
где $ url - это какое-то удаленное изображение .... и оно прекрасно работает
но потом, когда я использую curl_multi_getcontent,
$h = curl_init();
$headers = array(
"Range: bytes=0-700"
);
curl_setopt($h, CURLOPT_URL, $url);
curl_setopt($h, CURLOPT_HEADER, $headers);
curl_setopt($h, CURLOPT_RETURNTRANSFER, 1); //return the image value
$mh = curl_multi_init();
curl_multi_add_handle($mh, $h);
$running = null;
do {
curl_multi_exec($mh, $running);
} while ($running > 0);
$raw = curl_multi_getcontent($h);
@$im = imagecreatefromstring($raw);
PHP в строке @$im = imagecreatefromstring($raw);
будет жаловаться на то, что Данные не в распознанном формате
что я сделал не так? Я хотел бы использовать опцию multi exec, так как затем могу распараллелить ее ...
Я также попытался изменить эту строку: curl_setopt($h, CURLOPT_HEADER, $headers);
в мультисегменте в CURLOPT_HTTPHEADER, как и в первом, но вместо этого соединение было сброшено, и снова это произошло из-за imagecreatefromstring, так как после комментирования этой строки он не получил сброс