Задать вопрос
@sla_vka69

Как загрузить изображения по ссылке на сервер?

Написал парсинг товаров для интернет магазина, но появилась проблема: Большое кол-во изображений (около 1000) нужно загрузить на сервер (у каждого своя ссылка) при этом уменьшить их вес (т.к. весят по 2-8 МБ) до 200-500 кб. Подскажите, как это сделать, чтобы скрипт не перегружал оперативную память. Загрузка изображений уже реализована. Использую curl для загрузки изображения в класс (временный файл), затем изменяю его размер, и сохраняю на сервер, но этот метод перегружает оперативную память, и скрипт не успевает доработать, загружаются не все изображения. Imagemagick на хостинге нет
  • Вопрос задан
  • 255 просмотров
Подписаться 1 Оценить 1 комментарий
Ответ пользователя Валерий Панков К ответам на вопрос (4)
Таким кодом я смог из 17МБ преобразовать в 1МБ без потери качества, меньше чем за секунду и оперативная память не нагрузилась, чтобы скачать все фото по очереди воспользуйся foreach.
Foreach (php.net/manual/ru/control-structures.foreach.php)
GD (php.net/manual/en/book.image.php):
$url = "http://site.com/image.png"; \\ссылка на изображение
imagejpeg(
imagecreatefromstring(
        file_get_contents($url)
    ), 
    "название_изображения.jpg" \\название изображения
);
Ответ написан
Комментировать