用yii2进行文件上传功能实现
2023-03-15 23:27:46 时间
在common/models/下的Upload.php文件.
<?php
namespace commonmodels;
use Yii;
/**
* This is the model class for table "upload".
*
* @property string $file
*/
class Upload extends yiidbActiveRecord
{
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 frontendcontrollers;
use commonmodelsUpload;
use yiihelpersArrayHelper;
use yiihelpersFileHelper;
use yiiwebUploadedFile;
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:
相关文章
- linux下解析json格式的jq工具
- Linux中常见的快捷键
- 性能测试知识科普(七):监控能给你带来什么
- Chart.js-零碎知识整理
- SSH隧道详解与使用AutoSSH实现稳定的内网穿透
- Elasticsearch压测之Esrally压测标准
- for in语句,flex布局,Math对象,筛选选择器,属性操作(复习知识)
- linux下清理系统缓存并释放内存
- Robo 3T(Studio 3T)最新版安装教程
- IT运维服务管理中的知识价值体现
- 容量测试解决了什么问题?
- “双减政策”下|教育行业如何实现TRTC互动课堂aPAAS解决方案?
- 操作系统 进程调度实验报告
- 面试官:讲讲雪花算法,越详细越好
- Echo 框架:实现服务端限流中间件
- 容量保障落地四步走
- 铁路巡更系统|铁路智能巡检通信系统
- dart系列之:dart类的扩展
- KubeSphere 高可用集群搭建并启用所有插件
- Go语言核心36讲(Go语言实战与应用五)--学习笔记