加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel 5.3,检查上传文件是否大于upload_max_filesize(

发布时间:2020-12-14 19:46:19 所属栏目:大数据 来源:网络整理
导读:在Laravel 5.3中,我试图捕获上传文件的文件大小是否大于upload_max_filesize.上传字段不是必需的. 我尝试过这种方法,但它不起作用 public function checkFile($field){ if (request()-hasFile($field)){ // check if field is present $file = request()-fil
在Laravel 5.3中,我试图捕获上传文件的文件大小是否大于upload_max_filesize.上传字段不是必需的.

我尝试过这种方法,但它不起作用

public function checkFile($field)
{
    if (request()->hasFile($field)){ // check if field is present
        $file = request()->file($field);
        if (!$file->isValid()){ // now check if it's valid
            return back()->with('error',$file->getErrorMessage());
        }
    }
}

我不能只使用if(!$file-> isValid()),因为文件字段是可选的,如果字段为空,我会在null上获得对成员函数isValid()的调用.

因此,我必须使用if(request() – > hasFile($field))检查字段是否存在,但这对大文件不起作用,因为dd(request() – > hasFile(‘picture’) )返回false.

当然我可以依赖默认的Laravel Validator消息,但是我得到了一个虚拟图片无法上传.这没有给用户任何线索.

仅当您上传的文件大小小于php.ini中设置的限制时,Laravel验证才有效.

如果您尝试上传大于限制的文件,PHP将不会将请求转发给Laravel,并且会立即出错.因此,Laravel在这种情况下无能为力.

解决此问题的一种方法是在php.ini中设置更大的限制,然后在Laravel中验证文件大小.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读