情况
- 我有一个 .zip 文件。在这个 .zip 中是一个文件夹“dist/”,在文件夹“dist/”中有两件事:1)另一个文件夹“lib/”2)一个 jar 文件
- 我打开 .zip 并提取 dist/jar 文件。一个“新”文件夹将出现在我的磁盘“dist”上,其中包含 jar
- 我用 ZipArchive 打开 jar 文件并在需要的地方进行编辑。编辑由 addFromString() 保存
现在到了关键部分
- 我想将 jar 文件重新添加到 .zip
- 我这样做是通过 $zip->addFile($newdir . 'dist/' . $corefile, 'dist/' . $corefile)
在哪里:
- $newdir 是我本地磁盘上“新”dist/ 文件夹的绝对路径,其中包含提取/编辑的 jar 文件
- $corefile 是提取/使用的 jar 文件的文件名
- 我想将编辑后的 jar 文件添加到 zip 内的 dist/ 文件夹中
怎么了
- jar 文件已成功编辑
- 将 jar 添加回 .zip 时没有给出错误
- 当我打开修改后的 .zip 和 .jar 时,什么都没有改变。
我究竟做错了什么?
谢谢!
- 编辑:
发现了问题。
将编辑后的 jar 添加回 .zip 后,我在 $zip->close() 之前删除了本地磁盘上的 jar;close() 显然不起作用,因此没有保存更改。
我们学到了什么?
close() 在您删除/...任何文件之前!