在 Web 开发中,有时需要在单个压缩包中提供多个文件以供下载。 PHP 使用 ZipArchive 类为此任务提供了一个便捷的解决方案。
要创建 ZIP 存档,请按照以下步骤操作:
$zipname = 'file.zip'; $zip = new ZipArchive; $zip->open($zipname, ZipArchive::CREATE);
此处, $zip 代表 ZIP 存档,$zipname 是所需的文件名。
创建 ZIP 存档后,您可以向其中添加单个文件:
foreach ($files as $file) { $zip->addFile($file); }
将 $files 替换为包含文件路径或名称的数组。
添加所有必要的文件后,关闭存档:
$zip->close();
现在,将存档流式传输到客户端进行下载:
header('Content-Type: application/zip'); header('Content-disposition: attachment; filename='.$zipname); header('Content-Length: ' . filesize($zipname)); readfile($zipname);
此代码强制浏览器提示下载框并指定文件名。指定文件大小是为了解决某些浏览器中的兼容性问题。
通过这些步骤,您可以使用 PHP 轻松创建和下载多个文件作为单个 ZIP 存档。
以上是如何使用 PHP 创建多个文件的可下载 ZIP 存档?的详细内容。更多信息请关注PHP中文网其他相关文章!