【发布时间】:2021-10-18 04:16:57
【问题描述】:
我为通过 laravel 6 上传文件编写了这些代码。
但我只成功上传了一个文件,即使我确信我在上传时通过 dd($request->files) 的检查获得了所有文件
一开始$index = 0,最后变成1,第一轮没问题,但没有继续第二轮。
我不知道为什么,请帮忙!谢谢~
if($request->hasFile('files')){
$index = 0;
foreach($request->files as $key=>$file){
$originalName = $file[$index]->getClientOriginalName();
$size = $file[$index]->getClientSize();
$ext = $file[$index]->getClientOriginalExtension();
$newName = date('Ymd').mt_rand(100,999).$originalName;
$savePath = '/attachments/'.$newName;
$movePath = base_path().'/public/attachments/'.$newName;
$file[$index]->move(base_path().'/public/attachments',$newName);
$attachment = new attachment();
$attachment->bulletin_id = $bulletin->id; //already got this value before
$attachment->original_name = $originalName;
$attachment->name = $newName;
$attachment->type = $file[$index]->getClientMimeType();
$attachment->path = $savePath;
$attachment->size = ($size/1000);
$attachment->save();
++$index;
}
}
【问题讨论】:
-
不要使用索引而不是使用 foreach 键来保存功能
标签: laravel file foreach upload