Я читал об изменении размера изображений на лету, используя некоторые скрипты php с переписыванием URL-адресов (/img/500x500/image-name.jpg), но много люди говорят, что это плохая практика, так как это ОЗУ и процессор потребляет (1 Мб изображения использует около 3 МБ ОЗУ). Поэтому я думал, что просто создам эти изображения один раз, а затем сохраню их в папке с кешем, таким образом, я могу сохранить исходный img, а также измененные в этой папке.Изменение размера и кеш-изображений на лету vs сбережения разных размеров на сервере
В настоящее время я сохраняю 3 разных размера на сервере при загрузке изображения (100x100, 200x200, 500x500). Недавно я использовал для отображения некоторых изображений в 500x500, но теперь я немного изменил дизайн, чтобы отображать эти изображения всего в 300x300, поэтому я теперь застрял в больших изображениях, которые могут немного замедлить загрузку страницы!
Так что я собираюсь сделать это, чтобы сохранить исходное изображение (1500x1500), и когда он будет просматриваться в первый раз, я создам соответствующие эскизы и сохраню их в папке на сервере. Таким образом, если я когда-либо изменю дизайн снова, я могу просто удалить папку с кешем изображения, чтобы создать новые миниатюры с новыми размерами ...
У меня все еще нет кодов, поскольку сайт все еще разрабатывается и я просто пытаюсь предвидеть эти факты. это веб-сайт электронной коммерции
Как вы думаете, это мудрый способ справиться с изображениями?
Я использую php7, Nginx, Laravel 5, а также услуги CDN (maxCDN)
Заранее спасибо
Вообще, да, вы хотите сохранить копию генерируемый изображение сома (локальный кеш, CDN, ведро S3 и т. д.), поэтому вам не нужно выполнять сложную вычислительную задачу создания нового изображения каждый раз, когда вы хотите его отобразить. Как вы реализуете специфику, зависит от вас. Этот вопрос слишком общий, чтобы отвечать в его нынешнем формате. Если у вас есть конкретные вопросы о реализации (с примерами кода, который вы пробовали), тогда опубликуйте его здесь, и мы можем помочь с более подробными ответами. –
@ArmanH Я снова читаю ваше сообщение. Одна вещь возникает из-за моего любопытства. Вы сказали «сохранить копию сгенерированных изображений в CDN», можно ли сохранять изображения только в CDN, а не на нашем сервере? – Websphere
Конечно, проверьте [Flysystem] (https://flysystem.thephpleague.com/), который абстрагирует взаимодействие с поставщиками облачных/CDN (push, pull, delete, replace files и т. Д.) И позволяет вам обращаться с ними так, как если бы они были локальные диски. В идеале, однако, вы хотите сгенерировать изображение на локальном сервере, вставить его в облако, проверить, что передача выполнена успешно, а затем удалить локальную копию. –