Php 从窗体验证控制器上的favicon
我只想验证我的文件.ico文件。 Laravel不包括x-icon mime,我想,我如何验证它Php 从窗体验证控制器上的favicon,php,laravel,validation,favicon,laravel-5.7,Php,Laravel,Validation,Favicon,Laravel 5.7,我只想验证我的文件.ico文件。 Laravel不包括x-icon mime,我想,我如何验证它 $logo = $request->file('logo'); $favicon = $request->file('favicon'); $request->validate([ 'logo'=>'image|mimes:png', 'favicon'=>'', ]); 按照说明创建自定义验证规则 简而言之: 首先要做: ph
$logo = $request->file('logo');
$favicon = $request->file('favicon');
$request->validate([
'logo'=>'image|mimes:png',
'favicon'=>'',
]);
按照说明创建自定义验证规则 简而言之: 首先要做:
php artisan make:rule CheckIfFavicon
然后:
在创建的规则文件中创建验证代码
尝试以下方法:
public function passes($attribute, $value)
{
return $value->getClientOriginalExtension() == 'ico';
}
然后将其添加到验证中。请注意,如果创建自定义验证类,则必须将$request->validate([…])中的语法从管道填充更改为数组
$request->validate([
'favicon' => [new CheckIfFavicon],
]);
如果只想检查文件扩展名,请在代码中使用
$file->getClientOriginalExtension()
$ext = $file->getClientOriginalExtension();
if($ext == 'ico'){
//uploadfile
}else{
//do something else
}
用作参考。@Karoly我添加了一些示例,为您指明了正确的方向。幸运的是,我可以将$favicon发送到Rules/CheckIfFavicon吗?文件是在哪里输入的,我猜是html输入元素。你能给他们一个name属性吗。如果您这样做了,laravel应该能够理解将该数据发送到规则,如果验证规则如上所示,那么实际上是文件上传,但如果是ICON,则无法验证。默认情况下,laravel将favicon数据发送到ChackIfFavicon?