Как сделать ZIP архив средствами PHP

Многие думают, что создать ZIP архив средствами PHP сложно. На самом деле это не так. Все, что нужно — это несколько строк кода и готовая библиотека PclZip.lib.

Алгоритм работы с библиотекой следующий:

1. Подключаем к проекту модуль pclzip.lib.php;
2. Создаем экземпляр класса PclZip;
3. Выполняем необходимые действия по внесению или извлечению данных из архива;
4. Обрабатываем возможные ошибки.

Для примера, рассмотрим скрипт, который извлекает файлы из заранее подготовленного архива:


require_once('pclzip.lib.php'); //подключаем pclzip.lib
// определяем директорию куда загружен файл z.zip
// по-умолчанию считаем что это та директория в которой лежит распаковочный скрипт
$upload_dir = dirname( __FILE__ ); 
$filename = 'z.zip'; 

// распаковываем в ту же директорию куда загружен файл z.zip
$zip_dir = ''; 

// распаковка делается посредством инстанса специального класса PclZip
$archive = new PclZip($filename); 

if ($archive->extract(PCLZIP_OPT_PATH, $upload_dir.'/'.$zip_dir) == 0)
// в "реальном" скрипте было бы неплохо выдавать сообщение об ошибке которая возникла в процессе распаковки
	die("Error\n"); 
echo "Ok\n";