Изменение размера и кэширование изображений на лету против сохранения разных размеров на сервере

Я читал об изменении размера изображений на лету с использованием некоторых php-скриптов с перезаписью URL (/img/500x500/image-name.jpg), но многие люди говорят, что это плохая практика, так как она потребляет ОЗУ и ЦП (1Mb) образ использует около 3 МБ ОЗУ). Поэтому я подумал, что просто сгенерирую эти изображения один раз, а затем сохраню их в папке кеша, чтобы я мог сохранить исходные изображения img, а также измененные размеры в этой папке.

В настоящее время я сохраняю 3 разных размера на сервере при загрузке изображения (100x100, 200x200, 500x500). Некоторое время назад я использовал для отображения некоторых изображений в формате 500x500, но теперь я немного изменил дизайн для отображения этих изображений только в 300x300, так что теперь я застрял с большими изображениями, которые могут немного замедлить загрузку страницы!

Поэтому я думаю сохранить исходное изображение (1500x1500), и при первом его просмотре я сгенерирую соответствующие миниатюры и сохраню их в папке на сервере. Таким образом, если я когда-нибудь снова изменю дизайн, я могу просто удалить папку кэша изображений, чтобы создать новые миниатюры с новыми размерами...

У меня до сих пор нет кодов, так как сайт все еще разрабатывается, и я просто пытаюсь предвидеть эти факты. это сайт электронной коммерции

Как вы думаете, это мудрый способ иметь дело с изображениями?

Я использую php7, nginx, laravel 5, а также сервис CDN (maxCDN)

заранее спасибо

1 ответ

Решение

Я делаю это для миниатюр... довольно легко с библиотекой изображений Intervention... я имею в виду, просто... http://image.intervention.io/

// open an image file
$img = Image::make('public/foo.jpg');

// now you are able to resize the instance
$img->resize(320, 240);

// finally we save the image as a new file
$img->save('public/bar.jpg');

Вот и все... и да, изменение размера на лету это плохая идея...

Другие вопросы по тегам