Создание ZIP-архива на PHP без сохранения пути к файлам

Создание ZIP - архива на PHP без сохранения пути к файлам


Создаем архив на PHP без сохранения путей к файлам. Идеально подходит для CMS Bitrix, но также подойдет для любителей чистого php.
/**
* @param $arFiles - массив id файлов bitrix
* @param $fileName - название создаваемого архива
*/
function createZip($arFiles,$fileName){
$zipFileName = "/upload/$fileName.zip";

/*удалить файл если-создан*/
if (file_exists($_SERVER["DOCUMENT_ROOT"].$zipFileName)) {
unlink($_SERVER["DOCUMENT_ROOT"].$zipFileName);
}

// Массив со списком путей, до архивируемых файлов
foreach($arFiles as $iFileID) {
$arPackFiles[] = $_SERVER["DOCUMENT_ROOT"].CFile::GetPath($iFileID);
}

// Архивирование в zip
$zip = new ZipArchive(); //Создаём объект для работы с ZIP-архивами
$zip->open($_SERVER['DOCUMENT_ROOT'].$zipFileName, ZIPARCHIVE::CREATE); //Открываем (создаём) архив archive.zip
foreach($arPackFiles as $key=> $file){
$zip->addFile($file,basename($file)); //Добавляем в архив файл
}
$zip->close(); //Завершаем работу с архивом
return $zipFileName;
}
Поделиться ссылкой:
ВКонтакт Facebook Одноклассники Twitter Mail.Ru

Популярное

Bitrix - Получить финальную цену товара с учетом скидок
Как добавить пункт меню в админке битрикс?
Лечение сайтов 1С-Битрикс от вирусов, лечение вирусов на сайте

Возврат к списку