Распаковка Zip-архивов штатными средствами
Запись от 18.02.2015
Полезная, но недокументированная функция. Разобрался сам, спешу поделиться радостью с вами
Исходная задача: есть zip-архив, надо распаковать через API.
Вот так всё просто :)
Исходная задача: есть zip-архив, надо распаковать через API.
// Исходный архив
$sFilePathArc = $_SERVER["DOCUMENT_ROOT"]."/_import/webdata.zip";
// Директория для распаковки
$sFilePathDst = $_SERVER["DOCUMENT_ROOT"]."/_import/";
// Параметры распаковки
$arUnpackOptions = Array(
"REMOVE_PATH" => $_SERVER["DOCUMENT_ROOT"],
"UNPACK_REPLACE" => false
);
// Магия
$resArchiver = CBXArchive::GetArchive($sFilePathArc);
$resArchiver->SetOptions($arUnpackOptions);
$uRes = $resArchiver->Unpack($sFilePathDst);
// Вывод ошибки или результата
if (!$uRes) {
echo $resArchiver->GetErrors();
} else {
echo 'success';
}
Вот так всё просто :)