сценарий миниатюрной массовой обработки.

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
qwerty444
Сообщения: 78
Зарегистрирован: 2016.12.27, 07:32
Откуда: Россия
Контактная информация:

сценарий миниатюрной массовой обработки.

Сообщение qwerty444 »

Доброго времени.
Как можно автоматизировать работу Imagine,-
что бы загружаемые картинки на сайт и сразу обрабатывались и сохранялись в папку для дальнейшего использования.
Есть такой фильтр

Код: Выделить всё

<?php
                            $transformation = new Imagine\Filter\Transformation();

                            $transformation->thumbnail(new Imagine\Image\Box(30, 30));

                            foreach (glob('@webroot/uploads/*.jpg') as $path) {
                                $transformation->apply($imagine->open($path))
                                    ->save('@webroot/img/users/'.md5($path).'.jpg');
                            }
                            ?>
Он не выдаёт ошибки, но не чего и не делает пути указаны верно
Как его правильно применять?
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: сценарий миниатюрной массовой обработки.

Сообщение yiiliveext »

Код: Выделить всё

$transformation = new Imagine\Filter\Transformation();
$transformation->thumbnail(new Imagine\Image\Box(30, 30));
foreach (glob(Yii::getAlias('@webroot/uploads/*.jpg')) as $path) {
    $transformation->apply($imagine->open($path))
        ->save(Yii::getAlias('@webroot/img/users/'.md5($path).'.jpg'));
}
Аватара пользователя
qwerty444
Сообщения: 78
Зарегистрирован: 2016.12.27, 07:32
Откуда: Россия
Контактная информация:

Re: сценарий миниатюрной массовой обработки.

Сообщение qwerty444 »

ругается на эту переменную $imagine-

Undefined variable: imagine

нэймспэйс потемнел.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: сценарий миниатюрной массовой обработки.

Сообщение yiiliveext »

У вас не определена эта переменная. Предварительно надо сделать что-то вроде $imagine = new Imagine\Imagick\Imagine(). Для генерацией thumbnail вы также можете воспользоваться встроенным https://www.yiiframework.com/extension/ ... gine-image

Код: Выделить всё

foreach (glob(Yii::getAlias('@webroot/uploads/*.jpg')) as $path) {
    \yii\imagine\Image::thumbnail($path, 30, 30)
        ->save(Yii::getAlias('@webroot/img/users/'.md5($path).'.jpg'), ['quality' => 50]);
}
Ответить