来自this answer的代码只是将zip文件的内容提取到文件夹:
<?php
$zip = new ZipArchive;
$res = $zip->open('file.zip');
if ($res === TRUE) {
$zip->extractTo('/myzips/extract_path/');
$zip->close();
echo 'woot!';
} else {
echo 'doh!';
}
?>
有没有简单的方法(without a foreach loop, per file, and recursively descending into subfolders)在PHP中反向运行此操作,以便再次创建原始zip文件?
&#34; extract_path&#34;文件夹不能包含在zip文件中,这就是为什么我不能简单地使用上面链接的递归函数。
这将是PHP相当于执行这些linux shell命令,这非常简单:
cd /myzips/extract_path/
zip /dest/file.zip *
(在任何评论之前&#34;你为什么要这样做?&#34;,因为我想修改一个文件,然后重新创建zip文件)