Класс Archive

Класс для работы с ZIP- и TAR-архивами.

Методы

archive->__construct()

Тип архива определяется в конструкторе по расширению, если файл .zip, то это ZIP, если .tar, .bz, .bz2, .gz или .tgz - TAR. Для конструктора нет разницы создаёте вы архив или открываете.

Пример

$archive = new Archive('path/to/file.zip');

archive->is_valid()

Проверяет обьект: верное ли расширение указали, сможет ли класс работать.

archive->compact()

Пакует файлы в архив.

Пример

$archive->compact(array(
    // директория - просто значение без ключа
    'dir',

    // 'имя файла в архиве' => 'содержание файла'
    'text.txt' => 'Test',
    'dir/in_dir_test.txt' => 'Всё очень просто'
));

archive->files()

Список всех файлов.

Пример

print_r($archive->files());

/* Array
(
    [0] => Array
        (
            [filename] => test.txt
            [stored_filename] => test.txt
            [size] => 1145
            [compressed_size] => 448
            [crc] => E2D5CD5F
            [mtime] => 1252866962
            [comment] =>
            [folder] => 0
            [index] => 0
            [status] => ok
        )

) */

archive->extract()

Распаковать архив.

Пример

$archive->extract('to/dir/');