@XenK

Ошибка при получении изображения?

Пытаюсь получить изображение по ссылке, но получаю ошибку:
'imagecreatefromstring(): Data is not in a recognized format'


Код:
private static function saveImageUrl($url)
    {
        header('Content-Type: image/png');
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.11 Safari/534.16');
        return curl_exec($ch);
    }

    public function uploadImg($fromUrl) 
    {
        return imagecreatefromstring(static::saveImageUrl($fromUrl));
    }
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ivankomolin
Во первых посмотрите что возвращает static::saveImageUrl($fromUrl).
Скорее всего он возвращает не содержимое картинки, поэтому и ошибка.
И header('Content-Type: image/png') не нужен в данном случае.

А вообще судя по тегу "парсинг" вы так картинки грабите с других сайтов. Это очень плохо. Медленно и прожорливо по ресурсам.

Картинки это же файлы, зачем вы содержимое этих файлов грузите в память через php.
Грузите их через консоль тем же curl или wget сразу на диск.
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
от 2 000 до 4 000 usd.
Duotek Москва
До 120 000 руб.
HTML Academy Санкт-Петербург
от 120 000 до 130 000 руб.
20 авг. 2018, в 21:21
30000 руб./за проект
20 авг. 2018, в 20:46
5000 руб./за проект
20 авг. 2018, в 20:38
700 руб./в час