@Gadzhetov

Почему imagecreatefromjpeg не загружает некоторые изображения по URL?

Загружаю изображения с разных сайтов через imagecreatefromjpeg($url) для дальнейшей обработки. С одного из сайтов изображения не загружаются (imagecreatefromjpeg возвращает false). Эти изображения отлично открываются браузером, имеют правильный MIME, имеют небольшой размер и т. д.

Как понять, почему imagecreatefromjpeg их не загружает? Ведь нет возможности вывести текст ошибки.
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 2
@galaxy
Для начала скачать попробуйте через file_get_contents. Может там защита от "хотлинкинга" и оно без правильного referer фигу выдает. Или нужен правильный user-agent. Мало ли, короче
Ответ написан
@Gadzhetov Автор вопроса
Пока относительно рабочий вариант получился таким:
$cu = curl_init();
curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($cu, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cu, CURLOPT_BINARYTRANSFER, 1);

foreach($prods as $prod)
{
    curl_setopt($cu, CURLOPT_URL, $prod[1]);
    $data = curl_exec($cu);
    $img = imagecreatefromstring($data);

    if($img)
    {
       //Обработка изображения
    }
    else
    {
        echo $prod[1] . '<br>' .  curl_error($cu). '<br>';
    }
}

curl_close($cu);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы