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

"这篇博客详细介绍了如何在Yii2框架下创建一个Upload模型及UploadController,用于处理前端上传的文件。通过`commonmodelsUpload`模型定义了上传文件的验证规则,如允许的文件类型和大小。在`UploadController`中,定义了`actionUpload`方法来接收并处理上传的文件,将文件保存到指定路径,并返回文件名。"
摘要由CSDN通过智能技术生成

在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:
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵哥的编程之路(热爱分享)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值