TP5 多个文件上传只取到一个文件名的解决办法
原创
©著作权归作者所有:来自51CTO博客作者Q神的原创作品,请联系作者获取转载授权,否则将追究法律责任
官方多个文件上传文档:https://www.kancloud.cn/manual/thinkphp5/155159
举例说明:
html模板代码:
<form action="/index/index/upload" enctype="multipart/form-data" method="post">
<input type="file" name="sfzfj[]" /> <br>
<input type="file" name="sfzfj[]" /> <br>
<input type="file" name="sfzfj[]" /> <br>
<input type="submit" value="上传" />
</form>
控制器代码:
if (request()->isPost()){
// 身份证扫描件 多个图片上传
$files = request()->file('sfzfj');
if (!$files) {
return $this->error('请上传文件');
}
foreach ($files as $key => $file) {
$info = $file->validate(['size'=>156780,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
// $info = $file->move(ROOT_PATH . 'public/uploads');
if ($info) {
$img_sfzfj_all .=$info->getSaveName()."|";
}
}
$img_sfzfj = substr($img_sfzfj_all,0,strlen($img_sfzfj_all)-1); //去掉字符串的最后一个字符
}
重点这个循环取得名称:
foreach ($files as $key => $file) {
$info = $file->validate(['size'=>156780,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
// $info = $file->move(ROOT_PATH . 'public/uploads');
if ($info) {
$img_sfzfj_all .=$info->getSaveName()."|";
}
}