PHP带来class for ZIP file manipulation。它还允许使用addEmptyDir()创建目录并删除带有deleteName()的条目。但删除不适用于目录(空或不)。有没有办法删除ZIP文件中的空文件夹(首选是buildin PHP功能)?
答案 0 :(得分:1)
您需要将 / 附加到目录名称。所以,这样的工作:
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->deleteName('testDir/');
$zip->close();
}
?>
所以,testDir /与testDir ....
答案 1 :(得分:0)
您可以随时将其解压缩到tmp目录,使用rmdir()删除所有空目录,然后将其压缩回来。
要检查的另一件事是权限。你确定你对你试图操作的文件有写权限吗?
答案 2 :(得分:0)
关于目录概念的小注释。没有目录这样的东西。例如:foo / a.txt和foo / b.txt是两个条目,但没有foo /目录。但是,可以创建一个名为foo /的条目来“模拟”目录。
删除方法返回true而没有删除任何内容看起来像一个错误,我让菲利普在http://bugs.php.net打开一个新错误,所以我可以很快修复它。
谢谢!