tigrov/yii2-upload-behavior

为 Yii2 ActiveRecord 模型提供文件上传行为

安装: 2

依赖: 0

建议者: 1

安全: 0

星星: 0

关注者: 3

分支: 0

开放问题: 0

类型:yii2-extension

1.1.0 2019-08-05 12:19 UTC

This package is auto-updated.

Last update: 2024-09-05 23:32:58 UTC


README

为 Yii2 ActiveRecord 模型提供文件上传行为。

Latest Stable Version

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一

php composer.phar require --prefer-dist tigrov/yii2-upload-behavior

或者

"tigrov/yii2-upload-behavior": "~1.0"

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

使用方法

扩展安装后,将行为添加到 ActiveRecord 模型中,如下所示

创建一个具有文件属性的模型

class Model extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public function behaviors()
    {
        return [
            'upload' => [
                 'class' => '\tigrov\uploadBehavior\UploadBehavior',
                 'path' => '@runtime/upload',
                 'attributes' => ['file'],
            ],
        ];
    }
    
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['file'], 'file', 'skipOnEmpty' => false],
        ];
    }
}

在控制器中创建一个动作

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

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

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

<?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'file')->fileInput() ?>
    <?= Html::submitButton('Submit') ?>
<?php $form::end(); ?>

提交文件后,它将被保存到指定的 path

许可证

MIT