6epcepk
Новичок
pclzip: удаление папки из архива
На локальном компьютере пробую удалить папку из архива, папка содержит вложенные папки и файлы.
Есть несколько способов: указанием индекса элемента или имени.
Для этого я предварительно формирую массив вида индекс => название (путь к файлу от корня архива + имя файла + расширение).
После чего прохожу по массиву и пытаюсь удалить двумя вышеизложенными способами.
Удаляются все вложенные папки заданной папки, а так же файлы. Но сама папка почем-то остается, хотя ее индекс + название есть в массиве для удаления.
Пробовал даже удалять ее вручную - все равно остается.
Ниже код:
На локальном компьютере пробую удалить папку из архива, папка содержит вложенные папки и файлы.
Есть несколько способов: указанием индекса элемента или имени.
Для этого я предварительно формирую массив вида индекс => название (путь к файлу от корня архива + имя файла + расширение).
После чего прохожу по массиву и пытаюсь удалить двумя вышеизложенными способами.
Удаляются все вложенные папки заданной папки, а так же файлы. Но сама папка почем-то остается, хотя ее индекс + название есть в массиве для удаления.
Пробовал даже удалять ее вручную - все равно остается.
Ниже код:
PHP:
function remove_modules($k, $license_id, $file) {
$archive = new PclZip($file);
$list = $archive->listContent();
usort($list, "cmp"); // Пробовал сделать сортировку, чтобы эту папку удаляла в конце - все равно не помогает
for ($i = 0; $i < sizeof($list); $i++) {
if (Надо удалить) {
//$archive->delete(PCLZIP_OPT_BY_INDEX, $i);
$archive->delete(PCLZIP_OPT_BY_NAME, $filename);
}
}
}
function cmp($a, $b) {
return (strlen($a["filename"]) < strlen($b["filename"])) ? 1 : -1;
}