Archive

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

Методы

archive→__construct()

Тип архива определяется в конструкторе по расширению:

  • ZIP — .zip;
  • TAR — .tar, .bz, .bz2, .gz или .tgz.
  • Для конструктора без разницы создаёте вы архив или открываете.

    Пример

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

    archive→is_valid()

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

    archive→compact()

    Пакует файлы в архив. Вторым параметром можно указать true, тогда метод вернёт содержание архива, а не запишит в файл.

    Пример

    $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/');