tigrov/yii2-photo-widget

Yii2的照片上传小部件

安装次数: 12

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 3

分支: 0

开放问题: 0

类型:yii2-extension

1.1.0 2019-08-01 07:04 UTC

This package is auto-updated.

Last update: 2024-08-29 05:43:11 UTC


README

为Yii2创建照片上传小部件。

drawing

Latest Stable Version

安装

建议通过 composer 安装此扩展。

运行以下命令

php composer.phar require --prefer-dist tigrov/yii2-photo-widget

或者将以下内容添加到您的 composer.json 文件的 require 部分。

"tigrov/yii2-photo-widget": "~1.0"

使用方法

最好与 yii2-upload-behavior 一起使用扩展。

扩展安装后,您可以按照以下方式使用它

创建一个具有照片属性的模型

class Model extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public function behaviors()
    {
        return [
            'upload' => [
                 'class' => '\tigrov\uploadBehavior\UploadBehavior',
                 'path' => '@runtime/upload',
                 'attributes' => ['photo'],
                 // 'saveCallback' => ['\tigrov\photoWidget\PhotoWidgetHelper', 'crop'],
                 // or if you need to crop and resize
                 'saveCallback' => function ($model, $attribute, $file, $filename) {
                     $width = 200;
                     $height = 200;
                     \tigrov\photoWidget\PhotoWidgetHelper::crop($model, $attribute, $file, $filename, $width, $height);
                 }
            ],
        ];
    }
    
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['photo'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png,jpg,jpeg'],
        ];
    }
}

在控制器中创建一个动作

class FormController extends \yii\web\Controller
{
    public function actionUpload()
    {
        $model = new Model();
        if ($model->load(\Yii::$app->request->post()) && $model->save()) {
            \Yii::$app->session->setFlash('success', 'Model is saved.');
            return $this->refresh();
        }

        return $this->render('form', [
            'model' => $model,
        ]);
    }
}

创建一个包含文件属性的表单

<?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'photo')->widget('\tigrov\photoWidget\PhotoWidget') ?>
    <?= Html::submitButton('Submit') ?>
<?php $form::end(); ?>

提交照片后,它将被保存在指定的 路径

许可证

MIT