更新时间:2025-03-23 11:57:14
在使用 ThinkPHP5 开发项目时,有时需要为用户提供文件打包下载功能。这不仅能提升用户体验,还能简化资源管理。那么,如何实现这一功能呢?首先,你需要确保项目中已开启文件操作权限。接着,通过 PHP 的 `ZipArchive` 类或 `PharData` 类来创建 ZIP 文件包,将需要下载的文件添加到其中。例如:
```php
use think\Controller;
class Download extends Controller {
public function index() {
$zip = new \ZipArchive();
$zip->open('download.zip', \ZipArchive::CREATE | \ZipArchive::OVERWRITE);
// 添加文件到压缩包
$files = ['./file1.txt', './file2.jpg'];
foreach ($files as $file) {
if (file_exists($file)) {
$zip->addFile($file, basename($file));
}
}
$zip->close();
// 发送下载响应
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=download.zip');
header('Content-Length: ' . filesize('download.zip'));
readfile('download.zip');
unlink('download.zip'); // 下载完成后删除临时文件
}
}
```
通过上述代码,用户可以轻松下载多个文件的压缩包,极大提升了工作效率!🚀 无论是日常办公还是项目交付,这项功能都能派上用场哦!✨