Пути к файлам реструктуризации PCLZIP
Мне интересно, возможно ли удалить родительский каталог с помощью PCLZip во время загрузки архива; без извлечения и перекомпиляции.
Я могу удалить родительский каталог в архиве, используя:
$zip->delete(PCLZIP_OPT_BY_INDEX, '0');
И zip listContent, кажется, показывает удаленный родительский каталог
но когда я просматриваю загруженный архив, дочерние файлы и папки все еще размещаются в родительском каталоге. Я считаю, что это потому, что их определения структуры по-прежнему содержат родительский каталог.
1 ответ
Решение
Это не должно быть возможным - для всех записей в ZIP-архиве путь сохраняется полностью, включая все родительские каталоги. Поэтому для удаления части этого пути потребуется обработать все записи и перезаписать файл архива, поскольку данные во всех заголовках записей будут изменены.