我正在开发一个网站,用于下载用户从我们的其他服务器上传的文件夹,但首先我们必须压缩该文件夹 - 如何压缩整个文件夹的内容?
答案 0 :(得分:2)
查看ZipArchive
的文档。如果您遇到特殊问题,请编辑您的问题,我会尽量提供帮助。您可能没有安装ZipArchive
- 如果没有,请按照installation instructions。
您需要的功能:
open
:打开zip存档(您需要使用标记ZIPARCHIVE::CREATE
)。addEmptyDir
:在zip存档中创建一个可以添加文件的空目录。addFile
:将文件系统上的文件添加到存档中。您可能希望通过调用此函数来运行您希望添加文件的文件夹。close
:写完邮件后关闭zip存档。extractTo
:从zip存档中取出文件将它们放在某处示例代码:
<?php
$writezip = new ZipArchive;
if ($writezip->open('test.zip') === TRUE) {
if($zip->addEmptyDir('newDirectory')) {
$writezip->addFile('/path/to/index.txt', 'newDirectory/newname.txt');
$writezip->close();
echo 'ok';
}
else {
echo 'failed to create directory';
}
}
else {
echo 'failed';
}
$readzip = new ZipArchive;
if ($readzip->open('test.zip') === TRUE) {
$readzip->extractTo('/my/destination/dir/');
$readzip->close();
echo 'ok';
}
else {
echo 'failed';
}
?>