Изменить библиотеку zip с использованием ZipArchiv

Андер12 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
16.12.2013

Требуется написать библиотеку zip архивирования с использованием встроенного класса ZipArchive()

ТЗ и пример использования

$zip = new MyZipArchive();

$zip->addFiles('/backups/MyArhive.zip', $arrFiles, $size);

$arrFiles - массив путей к файлам вида array(array(0 => '/home/site.com/config.php', 1 =>'/config.php' ), array(0 => '/home/site.com/config.php', 1 =>'/config.php' ) и т.д );

0 - путь к файлу (если заканчивается без расширения значит это каталог и его надо создать)

1 - как должно лежать в архиве (т.е. при екстракте чтоб было всё без "технических" путей)

$size - размер тома в байтах.

Суть в следующем:

заданное имя файла архива = backup_01_01_2013-12_00_00_plugins_id3.zip

программист послал массив путей, библиотека создала к примеру 3 архива

backup_01_01_2013-12_00_00_plugins_id3.1.zip (1 000 000 байт)

backup_01_01_2013-12_00_00_plugins_id3.2.zip (1 000 000 байт)

backup_01_01_2013-12_00_00_plugins_id3.3.zip (569 000 байт)

программист опять посылает этоже имя файла и новый пакет путей

библиотека должна добавить в последний файл данных до 1 000 000 и продолжить создавать файлы

получится

backup_01_01_2013-12_00_00_plugins_id3.1.zip (1 000 000 байт)

backup_01_01_2013-12_00_00_plugins_id3.2.zip (1 000 000 байт)

backup_01_01_2013-12_00_00_plugins_id3.3.zip (1 000 000 байт)

backup_01_01_2013-12_00_00_plugins_id3.4.zip (1 000 000 байт)

backup_01_01_2013-12_00_00_plugins_id3.5.zip (726 000 байт)

метод должен возвращать некоторые данные о своей работе, это будет уточнено по ходу разработки