[英]How to upload multiple image in laravel
我正在嘗試在數據庫表的單行中上傳多個圖像並在顯示頁面中訪問它們。我嘗試過本教程: laraveldaily.com/upload-multiple-files-laravel-5-4/但有兩個不同的表建立關系。
我希望這發生在一個表中。
這是最適合我的方法:
首先以您的形式執行此操作:
<form class="form-horizontal" enctype="multipart/form-data" method="post" action="/details">
這用於多項選擇:
<input required type="file" class="form-control" name="images[]" placeholder="address" multiple>
現在在您的控制器中執行此操作:
public function store(request $request) {
$input=$request->all();
$images=array();
if($files=$request->file('images')){
foreach($files as $file){
$name=$file->getClientOriginalName();
$file->move('image',$name);
$images[]=$name;
}
}
/*Insert your data*/
Detail::insert( [
'images'=> implode("|",$images),
'description' =>$input['description'],
//you can put other insertion here
]);
return redirect('redirecting page');
}
希望這有效
<form role="form" method="post" action="{{URL::to('addimage')}}" enctype="multipart/form-data">
<div class="form-group" style="padding-bottom: 15px">
<label class="col-lg-3">Upload</label>
<input class="btn btn-primary" type="file" name="files[]" > <br/>
</div>
</form>
$images = $request->file('files');
if ($request->hasFile('files')) :
foreach ($images as $item):
$var = date_create();
$time = date_format($var, 'YmdHis');
$imageName = $time . '-' . $item->getClientOriginalName();
$item->move(base_path() . '/uploads/file/', $imageName);
$arr[] = $imageName;
endforeach;
$image = implode(",", $arr);
else:
$image = '';
endif;
DB::table('fooo')->insert(
array(
'image' => $image
)
);
Session::flash('message', 'Image upload successfully successfully');
return redirect('/addimage');
這也可以通過
foreach ($request->file('files') as $index => $item) {
$path = $request->files[$index]->store('images');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.