PclZip – внешняя php-библиотека для управления ZIP-архивами.
Пример извлечения файлов из архива:
include_once(SYS_BASE_PATH.'libs/pclzip.lib.php'); $path = SYS_BASE_PATH.'ext/test.zip'; $archive = new PclZip($path); $mess = ''; $list = $archive->extract(PCLZIP_OPT_PATH, SYS_BASE_PATH.'ext/'); if($list == 0) { $mess .= $parser->gt('unzipped_fail', __FILE__); } if($mess) print $mess;
Пример добавления файлов в архив
Создайте каталог ext/test/ и поместите в него файл test.txt. Поместите в любой из контроллеров следующий код:
include_once(SYS_BASE_PATH.'libs/pclzip.lib.php'); $path = SYS_BASE_PATH.'ext/test/test.zip'; $archive = new PclZip($path); $mess = ''; $list = $archive->add(SYS_BASE_PATH.'ext/test', PCLZIP_OPT_REMOVE_PATH, SYS_BASE_PATH.'ext'); if($list == 0) { $mess .= $parser->gt('unzipped_fail', __FILE__); } if($mess) print $mess;
В результате работы этого кода в каталоге ext/test/ будет создан архив test.zip и внутри этого архива будет расположен файл test.txt.
Подробнее с методами класса можно ознакомиться самостоятельно в файле libs/pclzip.lib.php.