Laravel mime类型的猜测者可供选择

时间:2015-07-28 07:51:57

标签: php laravel-5

我的验证规则,

// Get request input
$caption = Request::input('caption');
$photo = Request::file('photo');

// Request validation
$validator = Validator::make(
        [
            'caption' => $caption,
            'photo' => $photo
        ],
        [
            'caption' => 'required',
            'photo' => 'mimes:jpeg,jpg'
        ]
    );

// If validation fails
if($validator->fails()) {
    return redirect()->back()->withInput()->withErrors($validator);
}

错误!

  

MimeTypeGuesser.php第127行中的LogicException:无法猜测   mime类型没有猜测可用(你启用了吗?   php_fileinfo扩展名?)

我知道解决方法是在php.ini设置中启用 extension = php_fileinfo.dll

但我在共享主机上,我已经与服务器管理员联系以启用扩展。不幸的是,他们拒绝了我的请求,显示了一些安全原因。

他们是否有其他选择,以便我可以验证我的图片?

1 个答案:

答案 0 :(得分:0)

如果没有php_fileinfo.dll 安全,则无法获取mime类型,(mime_content_type - 已弃用)

您可以从文件扩展名中获取它(使用类似https://github.com/yiisoft/yii/blob/master/framework/utils/mimeTypes.php之类的内容)并创建自己的验证规则。但它不安全。

很遗憾,但真正有用的建议是更换主机。