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

hykeda2年前ThinkPHP2254

官方文档示例:

上传验证

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

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

相关文章

关于thinkphp6 where以数组形式查询,其中有or,and的处理

最近在写tp6的查询语句时,如果查询条件以数组形式传入,比如:$where[] = ['id','=',$id]; $where[] =...

thinkphp6.1中分页类调用

$list = YourModel->paginate([     'list_rows' =>&n...

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

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

thinkphp5 报错级别设置,屏蔽警告

本着严谨的原则,5.0版本默认情况下会对任何错误(包括警告错误)抛出异常,如果不希望如此严谨的抛出异常,可以在应用公共函数文件中(common.php)或者配置文件中使用error_report...

thinkphp5页面出现500服务器内部错误

    最近写项目发现页面显示正常,控制器单独输出调试都正常,数据返回了,但还是报错get请求报错500服务器内部错误。  &nbs...

发表评论    

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