преобразование изображения во все размеры при загрузке или изменение размера по запросу через php - PullRequest
2 голосов
/ 18 октября 2019

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

Изображения преобразуются в разрешения 1200, 500, 140, 40 и 24 пикселей.

Что мне интересно, будет ли эффективнее просто сохранить файл с разрешением 1200px, а затем подать его через PHP в требуемом размере, используя что-то вроде ImageMagick? Будут ли какие-то серьезные компромиссы, и если да, то стоит ли это того?

Что я сейчас делаю:

https://v1x -3.hbcdn.net / user / filename-500x500.jpg

Пример того, что я мог сделать:

https://v1x -3.hbcdn. net / image.php? type = user & file = имя файла и разрешение = 500

Cheers.

1 Ответ

3 голосов
/ 18 октября 2019

Нет, это не так, потому что:

  1. у вас есть небольшое количество размеров

  2. , если вы не будете использовать кэширование (генерация изображения натолько первый запрос) вы можете самостоятельно DDOS (обработка изображения - это процесс, на который влияет процессор)

  3. придется выполнить дополнительную работу, если вы будете использовать CDN, например Cloudflare, для HTTP-кэширования

Это имеет смысл, если у вас много размеров изображений, например, API, который поддерживает несколько устройств Andoid / IOS, то есть iphone 3 поддерживает только изображение размером 320x320, и если у вас нет пользователей с таким устройством, ваш сервер никогда не создает такое изображение.

Совет:

Во время генерации изображения используйте оптимизация , это уменьшает размер изображения с незаметной потерей качества.

...