Класс для работы с ZIP- и TAR-архивами.
Тип архива определяется в конструкторе по расширению:
Для конструктора без разницы создаёте вы архив или открываете.
$archive = new Archive('path/to/file.zip');
Проверяет обьект: верное ли расширение указали, сможет ли класс работать.
Пакует файлы в архив. Вторым параметром можно указать true, тогда метод вернёт содержание архива, а не запишит в файл.
$archive->compact(array(
// директория - просто значение без ключа
'dir',
// 'имя файла в архиве' => 'содержание файла'
'text.txt' => 'Test',
'dir/in_dir_test.txt' => 'Всё очень просто'
));
Список всех файлов.
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('to/dir/');