Merhaba bir proje için çoklu dosya yükleme işlemi yapmak istiyorum. Projenin mantığı her data için farklı sayıda ve farklı isimde dosyalar yüklenmesi gerekiyor (pdf ve zip formatında).
Burada yapmak istediğim olay "opsiyonel" olan belgeler yüklenmediğinde de başvuru yapılabilmesi. Burada tüm belgeleri yüklediğimde hiçbir sorun yok. Ama herhangi bir dosyayı yüklemediğimde undefined offset hatası veriyor. foreach içerisinde requresten belge gelmediğinde bir sonraki belgeye geç gibi bir şey yapmam gerekiyor sanırım ama bunu çözemedim.
Şimdiden teşekkürler
controller;
{
$files=[];
$paths=[];
if($request->hasFile('filenames')){
foreach($request->file('filenames') as $key=> $file){
$name=$request->name[$key];
$path=time().$file->getClientOriginalName();
$file->move(public_path().'/files/',$path);
$files[]=$name;
$paths[]=$path;
BasvuruBelgeModel::create([
"name"=>$files[$key],
"path"=>$paths[$key],
"kullaniciuuid"=>Auth::user()->uuid,
"ilanuuid"=>$request->uuid
]);
}
return redirect('basvuruyap')->with('success','İşlem Başarılı');
}```
basvuru.blade;
``` <form class="form col-6 mx-auto" action="{{ route('basvuruyappost') }}" method="POST" enctype="multipart/form-data">
@csrf
<input type="hidden" name="uuid" value="{{$data->uuid}}">
<h1 style="font-size: 20px; color:dodgerblue" class="mx-auto mt-5">İSTENİLEN BELGELER</h1>
<hr>
@foreach ($documents as $item)
<div class="form-group mt-2">
<label {{$item->zorunluluk=="Zorunlu" ? 'style=color:red;' : 'style=color:green' }} for="{{$item->belge}}">{{$item->belge}} {{$item->zorunluluk=="Zorunlu" ? '(Zorunlu Belge)' : '(Opsiyonel Belge)' }}</label>
<input type="file" class="form-control" name="filenames[]" id="{{$item->belge}}">
<input type="hidden" value="{{$item->belge}}" name="name[]" id="">
</div>
@endforeach
<button type="submit" class="mt-4 btn btn-success">Başvuru Yap</button>
</form>```