PHP getimagesize() выдает "SSL: указанная процедура не найдена"
Я получаю следующее сообщение об ошибке, используя php getimagesize для небольшого процента (<5%) протестированных ссылок на изображения...
getimagesize (): SSL: указанная процедура не найдена.
Вот пример, который выдает ошибку (как на моем локальном /MAMP-сервере, так и на живой версии)...
getimagesize("https://cdn.meme.am/instances/500x/65858681.jpg");
У кого-нибудь есть идеи, как копаться в этом дальше? На самом деле не знаю, куда идти с ним и не мог найти много похожих вопросов. Спасибо!
1 ответ
Решение
Этот код поможет вам
<?php
function getimgsize($url, $referer = '')
{
$headers = array(
'Range: bytes=0-32768'
);
/* Hint: you could extract the referer from the url */
if (!empty($referer)) array_push($headers, 'Referer: '.$referer);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
$image = imagecreatefromstring($data);
$return = array(imagesx($image), imagesy($image));
imagedestroy($image);
return $return;
}
list($width, $heigth) = getimgsize('https://cdn.meme.am/instances/500x/65858681.jpg', 'https://cdn.meme.am/instances/');
echo $width.' x '.$heigth;
?>