php архиватор

Тема в разделе "Коммерческие", создана пользователем sympler, 31 мар 2010.

Информация :
Публиковать (для всех) нуленые версии, особенно от modulesgarden КАТЕГОРИЧЕСКИ не стоит. Тема мониторится оным разработчиком, а к нам приходят абузы которые нельзя игнорировать.
Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. sympler

    sympler Постоялец

    Регистр.:
    24 окт 2008
    Сообщения:
    131
    Симпатии:
    6
    нужен скрипт который может архивировать определенную папку в zip и ее же разархивировать
    желательно без других функций ))
     
  2. djamil

    djamil Постоялец

    Регистр.:
    25 авг 2008
    Сообщения:
    74
    Симпатии:
    16
    http://www.maxistar.ru/blog/78/
     
  3. mixsd

    mixsd Прохожие

    И мне очень нужен, помогите плиз(((((
     
  4. webpirat777

    webpirat777

    Регистр.:
    25 апр 2009
    Сообщения:
    161
    Симпатии:
    68
    PHP 5.2 и выше:
    Код:
    $zip = new ZipArchive;
    if ((isset($_GET['act']))&&($_GET['act']=='unzip')){
    	if (isset($_GET['filename'])){
    		if ($zip->open($_GET['filename']) === true){
    			$zip->extractTo('unpacked/');
    			$zip->close();
    		}else{
    			echo 'Ошибка! Архив с таким именем не задан!';
    		}
    	}else{
    		echo 'Ошибка! Не задано имя архива!';
    	}
    }elseif((isset($_GET['act']))&&($_GET['act']=='zip')){
    	if ($zip->open('unpacked/archive.zip', ZipArchive::CREATE) === true){
    		$allfiles   =   array();
                    recoursiveDir('unpacked');
    		foreach ($allfiles as $key=>$val){
    			$zip->addFile($val);
    		}
    		$zip->close();
                    //указываем в заголовках тип передаваемых данных: архив zip
                    header('Content-type: application/zip; name=ziparchive.zip');
                    //отдаём файл архива
                    echo file_get_contents('unpacked/archive.zip');
    	}else{
    		echo 'Ошибка! Невозможно создать архив!';
    	}
    }else{
    	echo '
                <form method="GET" action="?">
                    <input type="radio" name="act" value="unzip" /> Распаковать
                    <input type="radio" name="act" value="zip" /> Запаковать
                    Введите имя архива (для распаковки предварительно загрузив его на сервер):
                    <br /><input type="text" name="filename" value="" />
                    <br /><input type="submit" value="Выполнить" />
                </form>
            ';
    }
    //эта функция рекурсивно обходит все папки и составляет список файлов
    //результат её работы можете посмотреть, вывев var_dump($allfiles) после её вызова
    function recoursiveDir($dir){
        global $allfiles;
        if ($files = glob($dir.'/*')){
            foreach($files as $file){
                if (is_dir($file)){
                    recoursiveDir($file);
                }else{
                    $allfiles[]    =   $file;
                }
            }
        }
    }
    
    http://koz1024.net/php/ziparchive.html
     
Статус темы:
Закрыта.