2017-06-18 18 views
1

複数選択ファイルのアップロードをLaravelに検証しようとしています。ラーバル検証複数ファイル

私はprint_r私のRequestしかし、私はなぜ明らかにすべてのアップロードが画像であることを検証しないのか分かりません。

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 [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0 [pathName:SplFileInfo:private] => /tmp/phpWyxPrW [fileName:SplFileInfo:private] => phpWyxPrW) [1] => Illuminate\Http\UploadedFile Object ( [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 [error:Symfony\Component\HttpFoundation\File\UploadedFile: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出力から見ることができるにもかかわらず、ではない画像エラーで中止します。

ネストされた配列のように見えます。私は自分の検証要求を相殺しようとしましたが、未定義のオフセットがありました。適切な検証のために実際のファイルデータに手を差し伸べてください。

答えて

3

これはイメージではなく、イメージの配列です。

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!"); 
    } 
} 
:あなたはこのように検証する必要がある

関連する問題