@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));
    }
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
ivankomolin
@ivankomolin
Во первых посмотрите что возвращает static::saveImageUrl($fromUrl).
Скорее всего он возвращает не содержимое картинки, поэтому и ошибка.
И header('Content-Type: image/png') не нужен в данном случае.

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

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

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

Войти через центр авторизации
Похожие вопросы
30 апр. 2024, в 15:24
3000 руб./за проект
30 апр. 2024, в 15:11
500 руб./в час
30 апр. 2024, в 15:11
5000 руб./за проект