Распаковка ZIP архива на сервере средствами PHP

Весьма редкая задача по работе с zip архивами (в частности с docx, xlsx форматами) требует наличия на сервере средств для работы с zip архивами. Поскольку на большинстве шаред хостингов доступа к этим средствам нет, был найден другой способ справиться с этой проблемой. Библиотека PclZip. Она соответственно позволяет полноценно работать с zip архивами на стороне сервера. В моем случае она применялась для распаковки docx файлов с целью внесения изменений в текст файлов (простейшая работа с шаблонами).

Примеры описанные в статьях Как разархивировать zip-архив php-скриптом и Большие возможности маленького сайта (Работа с Zip архивами) работоспособны и позволят быстро разобраться с API библиотеки PclZip.

Вот лишь 2 небольших примера кода:

Распаковка архива:

<?php

require_once('pclzip.lib.php');
$archive = new PclZip("archive.zip");
if ($archive->extract() == 0) {
die("Error : ".$archive->errorInfo(true));
}
?>

Упаковка файлов в архив:

<?php

require_once('pclzip.lib.php');//подключаем библиотеку

$files = glob('{,.ht}*', GLOB_BRACE);//получаем массив всех файлов в текущей папке, исключая .htaccess, .htpasswd

$s = array();
$aForbiddenNames = array('pclzip.lib.php','cgi-bin','zip.php','unzip.php');//указываем файлы, какие не следует включать в архив

//исключаем из массива файлов запрещенные
foreach($files as $file){
    if(in_array($file,$aForbiddenNames)) continue;
    $s[] = $file;
}
$s = implode(',', $s);//превращаем массив в строку

$archive = new PclZip('archive.zip');
$v_list = $archive->create($s);//создаем архив, передавая строку со списком файлов для архивации
if ($v_list == 0) {die("Error : ".$archive->errorInfo(true)); }
?>

Источники: 
http://umi-cms.spb.su/ref/php/zip/
http://php.russofile.ru/ru/authors/unsort/zip/
http://www.phpconcept.net/pclzip

Комментарии

Если всех нужно ремонт очистных сооружений для ресторана, монтаж городских очистных сооружений, аудит очистных сооружений района, монтаж осадки очистных сооружений, аудит промышленных очистных сооружений, проектирование очистных сооружений ливневых стоков, пусконаладка локальных очистных сооружений, то вам зедсь помогут. Многие жители в Барнауле уже оценили ремонт очистных сооружений.. важно учесть, что в «ЭКО» для модернизации, изготовления и проектирования очистных сооружений используются исключительно высококачественные современные материалы и технологии. Поэтому проектирование очистных сооружений стоков, проектирование биологических очистных сооружений, проектирование очистных сооружений канализации, проектирование сточных очистных сооружений, проектирование локальных очистных сооружений, проектирование осадок очистных сооружений в компании «ЭКО» является приведет к результатам, которых вы ждете. Специалисты наши специалисты помогут вам со строительством, обслуживанием, проектированием и эксплуатацией очистных сооружений в Улан-Удэ, а также других регионах России. Добавим также, что спектр услуг «ЭКО» довольно разнообразен. ЭКО Орел: <a href=https://spb.ecolos.ru/>ратников автономная канализация</a> ЭКО в Санкт-Петербурге - <a href=https://spb.ecolos.ru>оборудование очистных сооружений</a>