restyler
@restyler

Динамическая генерация изображений в yii2 — какой экстеншн выбрать?

Есть необходимость в генерации изображений (тумбнейлов, например) на лету (при первом рендеринге) и складывании их в директорию для дальнейшей быстрой отдачи. В базе хранится путь к оригиналу картинки, а пресеты генерятся и кешируются (пример - друпаловская система image, бывший imagecache).
Большинство экстеншнов что я смог найти - слишком низкоуровневые (предполагают что вопрос генерации и хранения thumbnail в фс разработчик берет на себя).
Самое близкое что нашел:
https://github.com/pavlinter/yii2-display-image
Но качество кода и логика именования параметров совсем не устраивает, к сожалению.
Может, у кого то есть другие варианты, или проще написать свое на базе https://github.com/yiisoft/yii2-imagine ?
  • Вопрос задан
  • 632 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Mylistryx
Может я не совсем правильно понял вопрос, но я бы создал правило для Apache/nginx, что если файл не существует на уровне FS, то запросить этот файл через скрипт с параметрами.
Пример
Запрошен файл '/assets/posts/thumb/345345223ab7f8c0eab.jpg'
nginx проверяет, есть ли файл и если есть, то отдает его напрямую, если же нет, то:
Проверяем, есть ли у нас в папке загрузок (я обычно делаю эту папку выше папки DOCUMENT_ROOT)
Если есть, то ресайзим его под профиль thumb, при необходимости накладываем ватермарк, кладем в /assets/post/thumb, отдаем пользователю.
В противном случае отдаем 404.
Ответ написан
@Akellacom
CTO
Я использовал для превьюшек yii2-imagine, но он создавал их при загрузки оригинала изображения на сервер.

В первом yii было расширение www.yiiframework.com/extension/iwi , которое действительно при первом рендере создавало превью.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы