php 文件上传校验_ThinkPHP5.0文件上传校验

本文详细介绍了使用ThinkPHP5(TP5)框架进行文件上传的步骤,包括单文件和多文件上传的控制器方法,以及如何进行上传校验。通过`validate`方法进行文件类型的检查,确保上传的是100*100的PNG格式文件,并展示了如何自定义文件命名规则。同时,提供了对应的模板文件路径供参考。
摘要由CSDN通过智能技术生成

控制器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

单文件上传

模板文件app\index\view\upload\up2

多文件上传
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值