Приветствую всех. Нужен был простой класс для работы с ZIP. Обычно я работал с PclZip, но он слишком громоздкий, а ZipArchive недостаточно удобен в использовании. Написал для себя небольшой класс и вот что из этого вышло https://github.com/AlexanderNikonov/SimpleZipArchive Буду рад, если поучаствуете в разработке на гитхабе. Вот несколько примеров использования класса: Код (PHP): $ZIP = new SimpleZipArchive('test.zip'); //Открываем/создаём архив test.zip $ZIP->AddFile = array( '/home/file.txt' => 'file.txt', // Добавляем несколько файлов из директории '/home/img.jpg' => 'images.jpg', array( 'logo.jpg' => file_get_contents('http://www.php.ru/images/logo.gif'), //Добавляем файлы по контенту. ), ); $ZIP->ZipDir = 'site'; // Рекурсивно архивируем папку "site" $ZIP->Comment = 'this is a comment'; // Добавляем комментарий $ZIP->SimpleZip(); // Применяем все изменения.
Спасибо. Но если бы Вы посмотрели на класс, то бы увидели, что он основан именно на нем, но в удобной доработке и с расширенными возможностями.
А какой ещё функционал планируете добавить? Какой-то странный метод "Delate File". Обвинить в преступлении файл? Перевод
Вот это я как раз затестил, и не сработало. В папке была всего одна картинка. Папка создалась в архиве, а фотки там нет. Видимо, рекурсивно только папки обходит и создаёт
Оу, опечатался, конечно же delete. Обновлю в новой версии. Как ни странно, у меня работает. Можете сказать версию PHP и ОС Добавлено спустя 8 минут 21 секунду: Или попробуйте сделать: Код (PHP): $Dir = 'dir'; $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($Dir . "/")); foreach ($iterator as $key => $value) { var_dump($key); } Что выведет?
Выводит правильно список файлов с путями. Архив делаю вот так Код (PHP): <?php require_once 'SimpleZipArchive.php'; $arc = new SimpleZipArchive('test.zip'); $arc->AddDir = array('img'); $arc->SimpleZip(); В архиве test.zip оказывается только пустая папка img несмотря на то, что там есть файлы и ещё папка с файлом. Система: Win7 64, Apache 2.2.21 (win64), php-5.3.10-Win32-VC9-x64