it-for-free / yii-image-resize-on-the-fly
yii yii2 resize image on the fly and cache
Requires
- php: >=5.3.0
- it-for-free/rusphp: v2.0.2
This package is auto-updated.
Last update: 2024-11-26 23:40:54 UTC
README
Обрезка картинки на лету
при обращении из браузера.
Так как идет работа с изображением, ниже приведен пример как осуществляется работу с данным модулем.
Установка
Установка с помощью composer:
composer require it-for-free/yii-image-resize-on-the-fly:~v1.0.0
Использование (Usage)
Пример использования во вью:
<img src='/image?path=' . $model->img . '&format=100x100'>
В примере выше видно, что применён метод запроса GET
с двумя параметрами
-
$model->img
это путь к вашему изображению, обычно это путь к файлу хранимый в БД, в нашем случае он выглядет как$model->img
, например там может храниться путьphotos/someimage.jpg
, остальной путь берётся из алиаса который определён в конфиге данного модуля. Как именно его определить будет показано ниже, так же обратите внимание, что перед директориейphotos/
нет/
он дописывается модулем. -
100x100
это строка формата обрезки картинки, у нас это выглядет так&format=100x100
, форматов может быть несколько, посмотреть подробную документацию можно здесь.
Конфигурирование модуля
Перед тем как конфигурировать модуль, нужно задать алиас, далее он будет задан как @uploadPath
Задать алиас можно в файле common/config/bootstrap.php
пример:
Yii::setAlias('@uploadPath', dirname(dirname(__DIR__)) . '/frontend/web/uploads');
Далее, в конфигурационном файле (например:common/config/main.php
)
вашего приложения в секции modules
пишем следующее:
use ItForFree\YiiImageResizeOnTheFly\Image; .... .... 'modules' => [ 'image' => [ 'class' => Image::class, 'baseUploadPath' => '@uploadPath' ], ],
из конфигурации выше мы видим, установку свойства публичного поля модуля о котором говорилось раньше baseUploadPath
это своиство модуля нужно для работы самого класса, в качестве значения ему передаётся алиас @uploadPath
, который
должен указывать путь, по которому вы сохраняете изображения.
Использование обёртки над yii/helpers/Html::img()
Существует обёртка для более удобного использования модуля по view. Общий вид функции imgrsc()
:
echo imgrsc($path, $format, $options);
Функция imgrsc()
принимает 2 обязательных параметра и один необязательный:
$path
путь к изображению относительно@uploadPath
.$format
формат изображения должен быть задан следующим образом посмотреть можно здесь.$options
это родной необязательный параметрyii/helpers/Html::img()
.
Пример реального вызова:
echo imgrsc($model->img, '100x100');