Пути к файлам реструктуризации PCLZIP

Мне интересно, возможно ли удалить родительский каталог с помощью PCLZip во время загрузки архива; без извлечения и перекомпиляции.

Я могу удалить родительский каталог в архиве, используя:

$zip->delete(PCLZIP_OPT_BY_INDEX, '0');

И zip listContent, кажется, показывает удаленный родительский каталог

но когда я просматриваю загруженный архив, дочерние файлы и папки все еще размещаются в родительском каталоге. Я считаю, что это потому, что их определения структуры по-прежнему содержат родительский каталог.

1 ответ

Решение

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

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