在 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 框架中定义的目录分隔符常量。