Обрезка изображений с внешнего сервера

Ситуация следующая: у меня есть сервис, который является бэкенд шиной между мобильным приложением и внешним севрером. Данные для возврата в мобильное приложение я беру из фидов внешнего сервера. У меня есть метод получения всех машин и машины по ее id, сами машины я получаю из фидов с внешнего сервера. И все бы ничего, но изображения из этих фидов приходят массивом строк, каждая из которых является ссылкой на изображение на внешнем сервере. Эти изображения очень большие и мне нужно их обрезать по разрешению, к примеру 400x400. Я написал скрипт, который при парсинге фидов берет каждое изображение по ссылке, открывает через клиент, сохраняет локально на моём сервере, а затем обрезает его с помощью установленной библиотеки (intervention/image) и сохраняет уже обрезанное изображение. При этом запись в БД происходит следующим образом: массив строк со ссылками на директорию моего сервера, где находятся эти изображения. Но возникла проблема: изображений очень много, парсинг идет очень долго, иногда даже ловлю ошибки по превышению допустимой оперативки от PHP. Есть ли решение этой проблемы? Что я могу сделать, чтобы давать ссылки на обрезанные изображения по запросу, но при этом тратить меньше ресурсов? Может сохранять только оригиналы, а при запросе уже давать обрезанные изображения? Как я могу это сделать? Моя конфигурация — PHP 8.2 + Symfony 6.3 + Nginx + Docker.


Ответы (0 шт):