Распаковка ZIP архива на сервере

Вам часто приходится по ftp закачивать множество мелких файлов? А наш любимый ftp клиент закачивает данные порой часами?
Можно упростить себе жизнь, а делается это следующим образом: сначала упаковать в zip-архив на локальном компьютере, затем закачать полученный архив на сервер, а после распаковать.
Первым делом скачиваем класс (http://www.phpconcept.net/pclzip/) pclzip.lib.php
Далее создаем файл, как вариант, его можно назвать unpack.php со следующим кодом:


<?php
require_once('pclzip.lib.php');
$archive = new PclZip('имя_архива.zip');
if ($archive->extract() == 0) { die("Error : ".$archive->errorInfo(true));}
else {echo('Ok!');}
?>

Можно и ещё больше упростить эту задачу. Делаем переименование класса pclzip.lib.php в unpack.php, хотя это не принципиально важно, и потом дописываем в конце файла:


$archive = new PclZip('имя_архива.zip');
if ($archive->extract() == 0) { die("Error : ".$archive->errorInfo(true));}
else {echo('Ok!');}

Если лень мешает столько много писать, то просто используем такие магические строки


$archive = new PclZip('архив.zip');
$archive->extract();

Остаётся только запуск в браузере http://www.j369.ru/unpack.php
Какие могут быть трудности:
* Установленное хостером ограничение по лимиту памяти (например, 16МВ)- тогда делаем разбивку архива на части небольших размеров.
* Скрипт-распаковщик начинает выдавать ошибки – причина в том, что не поставили на основную директорию права 777.
* Проблема в редактировании распакованных файлов – здесь уже посложнее и часто это бывает неизлечимо, проблема связана с владельцем файла.
С классами, возможно, много чего изобрести, достаточно подробно это описано здесь — http://php.russofile.ru/ru/authors/unsort/zip/
[author_infos]

j369

Несколько слов об авторе j369

Партнерские программы по раскрутке сайтов, заработок на партнерках. Бесплатные белорусские домены с тИЦ. Новости в мире и Белоруссии, а также новости Интернета. Поисковая оптимизация сайтов. Советы по использованию и установке скриптов и сервисов.
http://www.j369.ru/

Пока молчат

Leave A Reply

You must be logged in to post a comment.