ThinkPHP5.0文件上传校验
控制器app\index\controller\Upload.php
//TP5文件上传校验
namespace app\index\controller;
use think\Image;
use think\Request;
/**
* 上传类
*/
class Upload extends Controller
{
//单文件上传
public function index1()
{
return $this->fetch();
}
//多文件上传
public function index2()
{
return $this->fetch();
}
//单文件上传提交
public function up1(Request $request)
{
/*
*第一步校验
*/
//获取表单上传文件
$file = $request->file('file1');
//file1:表单name值
//上传验证
$result = $this->validate(['file1'=>$file],['file1'=>'require|image:100,100,png'],['file1.require'=>'请上传格式为100*100的PNG格式文件'],['file1.image'=>'非法图像文件']);
//可以不验证图片大小和扩展名,也可以用官网提供的方式验证
if (true !== $result)
{
$this->error($result);
}/*
*第二步上传,也可以参考官网rule规则,
*这里演示扩展
*/
$info = $file->rule(function ($file) {
return $file->getInfo('type').date('Y-m-d_H-i-s');
//文件名,根据项目需要自定义
})->move(ROOT_PATH . 'public' . 'uploads');
}//多文件上传提交
public function up2(Request $request)
{
$files = $request->file('file2');
foreach($files as $file){
#code....;
}
}
//echo $info->getRealPath();
//echo $info->getExtension();
//输出png
//echo $info->getSaveName();
//输出2017/01/05/5.png
//echo $info->getFileName();
//输出5.png
//echo $file->getError();
// 上传失败获取错误信息
}
模板文件app\index\view\upload\up1
单文件上传 - 锐客网
【ThinkPHP5.0文件上传校验】模板文件app\index\view\upload\up2
多文件上传 - 锐客网
推荐阅读
- django-前后端交互
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 使用composer自动加载类文件
- ssh生成公钥秘钥
- Android系统启动之init.rc文件解析过程
- 微信小程序基础知识
- 误删/清空.bashrc文件/内容
- iview|iview upload 动态改变上传参数
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- PHP开发-Mac搭建ThinkPHP5.0