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

前端之家收集整理的这篇文章主要介绍了php – Laravel 5.3,检查上传文件是否大于upload_max_filesize(可选上传)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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中验证文件大小.

原文链接:/laravel/135395.html

猜你在找的Laravel相关文章