我正在尝试验证多选文件上传到Laravel .
我 Request
但是我没有't understand why it doesn't验证显然所有上传都是图片 .
print_r
输出:
Array([file] => Array([0] => Illuminate \ Http \ UploadedFile Object([test:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => [originalName:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 236x177_3F2.jpg [mimeType:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => image / jpeg [size:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 19335 [错误: Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 0 [pathName:SplFileInfo:private] => / tmp / phpWyxPrW [fileName:SplFileInfo:private] => phpWyxPrW)[1] => Illuminate \ Http \ UploadedFile对象([test:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => [originalName:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => Bierstadt_Sunrise_Lg_1966-1 [1] .jpg [mimeType:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => image / jpeg [size:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 113765 [错误:Symfony \ Component \ HttpFoundation \ File \ Uploaded File:private] => 0 [pathName:SplFileInfo:private] => / tmp / php5GtG4F [fileName:SplFileInfo:private] => php5GtG4F)))
代码:
if($typeof=="photo")
{
$photo = $request;
print_r($photo::all());
$validator = Validator::make($photo::all(), [
'file' => 'required|image|mimes:png,gif,jpeg,bmp'
]);
if ($validator->fails()) {
abort(500,"Not an image!");
}
它始终以非图像错误中止,即使您可以从 print_r
输出中看到它们是图像 .
看起来像嵌套数组我试图抵消我的验证请求,然后我得到了未定义的偏移量,请帮助我获取实际的文件数据以进行正确的验证 .
1 回答
嗯,这不是一个图像,它是一系列图像 .
您需要像这样验证: