Часто приходится закачивать по 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!');}
если лениво столько писать, то 2 делаем магические строчки
$archive = new PclZip('архив.zip'); $archive->extract();
Остается только запустить в брайзере http://www.j369.ru/unpack.php
Возможные трудности:
- Установленный хостером лимит памяти (например 16МВ)- разбиваем архив на куски небольшого рамера
- Скрипт-распаковщик начинает ругаться- часто забываем поставить права 777 на основную директорию
- Проблема с редактированием распакованных фалов- серьёзная трудность, часто не лечится, связана с владельцем файла

С классом можно много чего изобретать, достаточно полно описано тату-http://php.russofile.ru/ru/authors/unsort/zip/
Выражаю огромную признательность доброму самаритянину долгие годы хранившему содержимое j369 (умершего вместве с хостингом от компании 3FN). Я в знак признательности готов подарить исходники любого сервиса. j369
Метки: zip