PHP ZipArchive файловая итерация игнорирует каталоги

Я впервые использую класс ZipArchive в PHP, и у меня возникли некоторые проблемы. Все, что я пытаюсь сделать, - это перебирать файлы в ZIP-архиве, и все это работает, за исключением того, что, кажется, нет никакого способа получить имена подкаталогов внутри ZIP-файла, и мне нужна эта информация. Если внутри подкаталога есть файлы, я полагаю, что мог бы разобрать имена каталогов по именам файлов, но если есть пустые каталоги, они полностью теряются.

Например, если у меня есть это дерево каталогов в ZIP:

root_folder
root_folder -> test_file.ext
root_folder -> empty_dir

Теперь я пытаюсь прочитать записи этого файла ZIP в память, как это в PHP:

<?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, чтобы найти все файлы и каталоги, включая пустые внутри архива?

0 ответов

Другие вопросы по тегам