在日常开发中,我们常常需要将服务器上的文件或文件夹打包并提供给用户下载。今天就来分享如何用PHP实现这一功能!💪
首先,确保你的PHP环境已开启`zip`扩展。接着,使用`ZipArchive`类即可轻松搞定。以下是一个简单示例:📦
```php
// 创建一个ZIP对象
$zip = new ZipArchive();
$zip_name = time().".zip"; // 命名ZIP文件
if ($zip->open($zip_name, ZipArchive::CREATE) !== TRUE) {
exit("无法创建ZIP文件");
}
// 添加目录到ZIP
function addFolderToZip($folder, $zip) {
$handle = opendir($folder);
while (false !== ($item = readdir($handle))) {
if ($item == "." || $item == "..") continue;
if (is_dir($folder . "/" . $item)) {
addFolderToZip($folder . "/" . $item, $zip);
} else {
$zip->addFile($folder . "/" . $item, $item);
}
}
closedir($handle);
}
addFolderToZip('your_folder_path', $zip);
$zip->close();
// 下载ZIP文件
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=$zip_name");
readfile($zip_name);
unlink($zip_name); // 下载完成后删除临时文件
?>
```
通过上述代码,你可以快速实现目录压缩与下载功能,非常实用!💡
记得在实际应用中处理好路径和权限问题哦!🚀