1

我第一次在 PHP 中使用 ZipArchive 类,我遇到了一些麻烦。我要做的就是遍历 ZIP 存档中的文件,一切正常,但似乎没有任何方法可以获取 ZIP 文件中的子目录名称,而我需要这些信息。如果子目录中有文件,我想我可以从文件名中解析出目录名,但是如果有空目录,它们就会完全丢失。

例如,如果我在 ZIP 中有这个目录树:

root_folder
root_folder -> test_file.ext
root_folder -> empty_dir

现在我尝试在 PHP 中像这样将该 ZIP 文件的条目读入内存:

<?php
    $zip = new ZipArchive;
    if ($zip->open('test.zip') == TRUE) {
        for ($i = 0; $i < $zip->numFiles; $i++) {
            $filename = $zip->getNameIndex($i);
            echo $filename."<br />";
        }
        $zip->close();
    }
?>

如果我这样做,则root_folder\test_file.ext可以正确找到,但root_folder\empty_dir会完全丢失。

那么如何使用 ZipArchive 类来查找所有文件和目录,包括存档中的空文件和目录?

4

0 回答 0