0

此答案中的代码只是将 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!';
}
?>

是否有任何简单的方法(没有 foreach 循环,每个文件,并递归下降到子文件夹)在 PHP 中反向运行此操作,以便再次创建原始 zip 文件?

“extract_path”文件夹不能包含在 zip 文件中,这就是为什么我不能简单地使用上面链接的递归函数。

这将是执行这些 linux shell 命令的 PHP 等价物,这些命令非常简单:

cd /myzips/extract_path/
zip /dest/file.zip *

(在任何人评论“你为什么要这样做?”之前,这是因为我想修改一个文件然后重新创建 zip 文件)

4

0 回答 0