繁体   English   中英

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

[英]Remove an empty directory from a ZIP file with PHP

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

您需要附加一个/到目录名称。 所以,像这样的工作:

<?php
    $zip = new ZipArchive;
    if ($zip->open('test.zip') === TRUE) {
        $zip->deleteName('testDir/');
        $zip->close();
    }
?>

所以,testDir /对testDir ....

您可以随时将其解压缩到tmp目录,使用rmdir()删除所有空目录,然后将其压缩回来。

要检查的另一件事是权限。 您确定您对要尝试操作的文件具有写入权限吗?

关于目录概念的一点注意事项。 没有目录这样的东西。 例如:foo / a.txt和foo / b.txt是两个条目,但没有foo /目录。 但是,可以创建一个名为foo /的条目来“模拟”目录。

删除方法返回true而没有删除任何东西看起来像一个bug,我让菲利普在http://bugs.php.net上打开一个新的bug,所以我可以很快修复它。

谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM