使用PHP从ZIP文件中删除空目录

时间:2010-05-17 12:52:33

标签: php zip

PHP带来class for ZIP file manipulation。它还允许使用addEmptyDir()创建目录并删除带有deleteName()的条目。但删除不适用于目录(空或不)。有没有办法删除ZIP文件中的空文件夹(首选是buildin PHP功能)?

3 个答案:

答案 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打开一个新错误,所以我可以很快修复它。

谢谢!