Thinkphp6 中上传文件,验证文件大小及后缀名官方文档错误修改

hykeda2年前ThinkPHP2742

官方文档示例:

上传验证

支持使用验证类对上传文件的验证,包括文件大小、文件类型和后缀:

public function upload(){    // 获取表单上传文件    $files = request()->file();    try {        validate(['image'=>'filesize:10240|fileExt:jpg|image:200,200,jpg'])            ->check($files);        $savename = [];        foreach($files as $file) {            $savename[] = \think\facade\Filesystem::putFile( 'topic', $file);        }    } catch (\think\exception\ValidateException $e) {        echo $e->getMessage();    } }

其实直接使用:validate(['image'=>'filesize:10240|fileExt:jpg|image:200,200,jpg'])->check($files); 是错误的。无论你如何修改规则都是正确的。

这里我们需要修改成:check我们需要传入数组形式

validate(['image'=>'filesize:10240|fileExt:jpg|image:200,200,jpg'])->check(['image'=>$files]);

或者我们不使用助手函数:

6ceab4c733618e0fcfca041125096bf.png

相关文章

phpExcel 官方停止更新,不支持php7.4以上版本,改用 phpspreadsheet

composer require phpoffice/phpspreadsheet安装后:按需要引入文件use PhpOffice\PhpSpreadsheet\Spre...

thinkphp5 导入第三方类库和导入扩展类库细节

在用到tp5之后,很多东西都不太一样了。在此记录些小经验: 类库的导入,tp5有两种类库,分别为第三方类库和扩展类库 导入扩展类库,tp的手册中有示例代码: extend目录下面...

thinkphp5.1 使用第三方类库放置在extend文件夹

thinkphp5.1 使用第三方类库放置在extend文件夹

thinkphp5.1 开发扩展类库时,命名空间必须要命名成文件夹的名字,不然无法访问到:...

thinkphp6 使用中的注意点

thinkphp6 使用中的注意点

1、TP6中采用多应用模式需要安装  composer require topthink/think-multi-app如果需要使用view,还必须安装模板引擎...

关于thinkphp5.1中间件的使用

关于thinkphp5.1中间件的使用

在tp5.1开始,有了中间件的概念。 首先中间件主要用于拦截或过滤应用的HTTP请求,并进行必要的业务处理。 生成中间件: php thin...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。