tigrov / yii2-upload-behavior
为 Yii2 ActiveRecord 模型提供文件上传行为
1.1.0
2019-08-05 12:19 UTC
Requires
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2024-09-05 23:32:58 UTC
README
为 Yii2 ActiveRecord 模型提供文件上传行为。
安装
安装此扩展的首选方式是通过 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。