我試圖一次上傳多個圖像。文件正在上傳,但即使它們不是有效的圖像,它們也會通過驗證。我想上傳所有有效的文件,並返回帶有werent上傳成功的文件數量的消息。Laravel 5上傳多個圖像驗證
我的功能:
public function addImages($id, Request$request)
{
$files = Input::file('images');
$uploaded = 0;
$failed = 0;
foreach ($files as $file) {
// Validate each file
$rules = array('file' => 'required|image');
$validator = Validator::make(array('file'=> $file), $rules);
if($validator->passes()) {
$destinationPath = 'uploads';
$filename = $file->getClientOriginalName();
$upload_success = $file->move($destinationPath, $filename);
if($upload_success){
$uploaded ++;
}
else {
$failed ++;
}
} else {
$failed ++;
}
}
\Session::flash('success_message',$uploaded.' files uploaded.');
if($failed > 0){
\Session::flash('errors','Some files werent valid.');
}
return redirect('admin/myroute/'.$id);
}
對於如果我上傳withhout他們仍然上傳過任何擴展名的文件的一些原因。我究竟做錯了什麼?
圖像已經與mime一起使用,不需要這樣做。 –
圖像是輸入字段名稱,MIME是驗證 –
圖像也是一個驗證規則,它默認使用mimes:jpeg,jpg,png,bmp。 –