TP5实现多文件上传及展示

view层上传:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="{:url('imgs/upload')}" method="post" enctype="multipart/form-data">
<input type="file" name="imgs[]" multiple="multiple">
<input type="submit" value="提交"/>
</form>
</body>
</html>

controller添加入库:

<?php
namespace app\index\controller;
use think\Controller;
use think\Db;

class Imgs extends Controller
{
public function imgs(){
return view();
}
public function upload(){
// 获取表单上传文件
$files = request()->file('imgs');
foreach($files as $file){
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
$data[] = '/uploads/'.$info -> getSaveName();
}
$arr['imgs'] = implode(',',$data);
// echo $arr;die;
$res = Db::name('admin') -> insert($arr);
if($res){
$this -> success('添加成功','show');
}else{
$this -> error('添加失败');
}
}
public function show(){
$data = Db::name('admin') -> select();
// dump($data);die;
foreach($data as $k => $v){
$data[$k]['imgs'] = explode(',',$v['imgs']);
}
// dump($data);die;
return view('show',['data' => $data]);
}
}

view展示:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
{volist name="data" id="vo"}
{volist name="vo.imgs" id="v"}
<img src="__ROOT__/{$v}" alt=""/>
{/volist}
{/volist}
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/wanglongfei/p/9806802.html