you should try this ;
<input type="file" name="image[]">
you only need to add one input for multiple file uploads.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I am trying to have a multiple image upload system but it is only one image that is showing after doing this
Form
<form action="{{route('news.store')}}" id="postform" method="post" enctype="multipart/form-data">
{{csrf_field()}}
<div class="form-group">
<label for="image"><b>Select Image To Add</b></label>
<input type="file" name="image">
<input type="file" name="image">
<input type="file" name="image">
<input type="file" name="image">
</div>
</form>
Controller
public function store(Request $request)
{
//validate
$this->validate($request,[
'subject'=>'required|min:10',
'tags' => 'required',
'body' => 'required|min:20'
]);
if (request()->hasFile('image')){
request()->validate([
'image' => 'file|image|max:5000',
]);
}
//store
$news=auth()->user()->news()->create($request->all());
$news->tags()->attach($request->tags);
$this->storeImage($news);
//redirect
return redirect()->route('news.index');
}
private function storeImage($news)
{
if (request()->has('image')){
$news->update([
'image' => request()->image->store('uploads', 'public'),
]);
}
}
Please or to participate in this conversation.