在 PHP 中从多个文件创建 ZIP 存档
问题:如何将多个文件下载为 ZIP存档使用PHP?
解决方案:
要实现此目的,您可以利用 PHP 的 ZipArchive 类。您可以按照以下步骤进行操作:
创建 ZIP 存档:
$files = array('readme.txt', 'test.html', 'image.gif'); $zipname = 'file.zip'; $zip = new ZipArchive; $zip->open($zipname, ZipArchive::CREATE);
将文件添加到邮政编码存档:
foreach ($files as $file) { $zip->addFile($file); }
关闭 ZIP 存档:
$zip->close();
流ZIP 存档到客户端:
header('Content-Type: application/zip'); header('Content-disposition: attachment; filename="'.$zipname.'"'); header('Content-Length: ' . filesize($zipname)); readfile($zipname);
流部分中的第一行将 Content-Type 指定为 ZIP 存档。第二行指示浏览器为用户显示一个下载框并指定文件名 file.zip。第三行计算并设置较旧的浏览器的 Content-Length 标头,这些浏览器可能会在事先不知道文件大小的情况下遇到问题。
以上是如何使用 PHP 创建和下载多个文件的 ZIP 存档?的详细内容。更多信息请关注PHP中文网其他相关文章!