在ThinkPHP框架中进行多文件下载可以使用ZipArchive类来实现。具体步骤如下:
$zip = new \ZipArchive();
$filename = tempnam(sys_get_temp_dir(), 'zip');
$res = $zip->open($filename, \ZipArchive::CREATE);
foreach ($fileList as $file) {
$zip->addFile($file['path'], $file['name']);
}
其中,$fileList为需要下载的文件列表,包含文件路径和文件名。
$zip->close();
header('Content-Type: application/zip');
header('Content-Length: ' . filesize($filename));
header('Content-Disposition: attachment; filename="download.zip"');
readfile($filename);
unlink($filename);
其中,header函数设置了返回给浏览器的Content-Type、Content-Length和Content-Disposition信息,readfile函数将压缩包发送给浏览器,unlink函数删除临时文件。
需要注意的是,ZipArchive类需要在服务器上安装zip扩展才能使用。