我第一次在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类查找归档中的所有文件和目录,包括空的?