Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从窗体验证控制器上的favicon_Php_Laravel_Validation_Favicon_Laravel 5.7 - Fatal编程技术网

Php 从窗体验证控制器上的favicon

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

我只想验证我的文件.ico文件。 Laravel不包括x-icon mime,我想,我如何验证它

  $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?