在 ThinkPHP 框架下进行多文件上传,可以使用 File
类提供的 upload
方法实现。
步骤如下:
在表单中添加 enctype="multipart/form-data"
属性,以支持文件上传。
在控制器中使用 request
对象获取上传的文件,可以使用 request->file
或 request->file
方法。
使用 File
类提供的 upload
方法,上传文件,可以通过指定上传路径、文件命名规则、上传文件类型等参数,实现多文件上传。
示例代码如下:
public function upload()
{
$files = request()->file('image');
foreach ($files as $file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
if ($info) {
echo '文件上传成功:' . $info->getRealPath() . '<br>';
} else {
echo '文件上传失败:' . $file->getError() . '<br>';
}
}
}
其中,request()->file('image')
表示获取名为 image
的上传文件,返回的是一个包含多个文件对象的数组。$file->move(ROOT_PATH . 'public' . DS . 'uploads')
表示将文件移动到指定的上传路径,返回的是一个包含文件信息的对象。
关键词说明:
File
类:ThinkPHP 框架提供的文件操作类。upload
方法:File
类中用于上传文件的方法。request
对象:ThinkPHP 框架中用于获取请求信息的对象。getRealPath
方法:文件信息对象中获取文件路径的方法。ROOT_PATH
常量:ThinkPHP 框架中定义的根路径常量。DS
常量:ThinkPHP 框架中定义的目录分隔符常量。