На одном проекте понадобилось периодически создавать zip-архивы из файлов. А весь секрет всего-лишь в паре строчек кода, позволяющих конвертировать выбранные файлы/папки в файл-архив формата ZIP. Для этого можно воспользоваться готовым php-классом. Архивы будут создаваться динамически. Например, можно сделать так, чтобы пользователь сам выбирал, какие файлы он хочет поместить в архив и на лету создать и начать отдать ему этот архив.
Пример использования:
<?php
/**
*
* $path = переменная пути. В конце ставим слеш.
*
**/
$path = 'download/'
require_once('createzip.php');
require_once('createzipfromdir.php');
$createZip = new createDirZip;
$createZip->get_files_from_folder($path, '');
$fileName = 'archive.zip';
$fd = fopen ($fileName, 'wb');
$out = fwrite ($fd, $createZip->getZippedfile());
fclose ($fd);
$createZip->forceDownload($fileName);
?>
Скачать php-класс для работы с ZIP-архивацией