yii2单文件上传功能实现(yii自带的UploadedFile类

在common/models/下的Upload.php文件.

<?php

namespace common\models;

use Yii;

/**
 * This is the model class for table "upload".
 *
 * @property string $file
 */
class Upload extends \yii\db\ActiveRecord
{
    public $file;

    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'upload';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['file'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png,jpg,txt,jpeg,php,json,XLS,doc', 'checkExtensionByMimeType' => false]
        ];
    }

    /**
     * @inheritdoc
     */


   public function upload()
    {
        if ($this->validate()) {

           // $res = $this->file->saveAs(mkdir("C:/Wnmp/html/demonstration/frontend/uploads/" . mkdir(date('Ymd/His')."/",0777, true).$this->file->baseName . '.' . $this->file->extension));
            return $tt = $this->file->baseName . '.' . $this->file->extension;


        } else {
            echo exit();
        }
    }

}
UploadController.php
<?php
namespace frontend\controllers;
use common\models\Upload;
use yii\helpers\ArrayHelper;
use yii\helpers\FileHelper;
use yii\web\UploadedFile;
class UploadController extends Controller
{

    public  function actionUpload()
    {
        $request = \Yii::$app->request;
        $model = new Upload();
        $model->file = UploadedFile::getInstance($model, 'file');

        $res = $model->upload();
        echo $res;
        }
  }

postman:
在这里插入图片描述


版权声明:本文为qq_37805832原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。