1. 程式人生 > >TP5實現多檔案上傳及展示

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>