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;
?>
Другие вопросы по тегам