Разархивировать zip-архив php
09.08.2015
1 способ
<?php
echo exec('unzip file.zip');
?>
2 способ
Скачиваем библиотеку PclZip. После создаем файл unzip.php и добавляем туда следующий код:
<?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)); }
?>
#PHP
