TP框架-批量文件上传

TP框架,批量上传文件简单demo

controller
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
namespace app\fire\controller;

use app\fire\library\Upload as LibraryUpload;

/**
* @ApiSector (上传类)
*/
class Upload extends Api
{
/**
* @ApiTitle (批量上传文件)
* @ApiSummary ()
* @ApiMethod (POST)
* @ApiParams (name="files", type="file", required=true, description="文件")
* @ApiReturnParams (name="data", type="array", required=false, description="列表")
* @ApiReturnParams (name="|- file_name", type="string", required=false, description="存储路径")
* @ApiReturnParams (name="|- save_path", type="string", required=false, description="文件名")
*/
public function file()
{
$files = request()->file('files');
if (!$files) {
return $this->error("文件上传失败");
}
$service = new LibraryUpload();
$return = $service->multiple_upload($files);
return $this->success("成功", $return);
}
}
lib类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
namespace app\fire\library;

use think\File;
/**
* 文件上传类
*/
class Upload
{
/**
* 批量上传文件
* @param array $files
* @return void
*/
public function multiple_upload($files)
{

$path = ROOT_PATH . 'public' . DS . 'upload' . DS . 'files';
$retrun = [];
$flag = true;
foreach ($files as $file) {
if ($file) {
$name = $file->getInfo()['name'];
$upload = $file->move($path);
if ($upload) {
$tmp_path = DS . 'upload' . DS . 'files' . DS . $name;
$save_path = str_replace(DS, "/", $tmp_path);

$retrun[] = [
'file_name' => $name,
'save_path' => $save_path
];
} else {
$flag = false;
}
} else {
$flag = false;
}
if (!$flag) {
continue;
}
}

return $retrun;
}
}

本文标题:TP框架-批量文件上传

文章作者:xugz

发布时间:2019年06月21日 - 12:31

最后更新:2022年10月11日 - 16:09

原始链接:https://xlline.github.io/2019/06/21/Upload_file/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。