Учебник РНР
Назад Вперёд

CIX. Функции Zip-файлов (доступ только для чтения)

Этот модель использует функции библиотеки ZZIPlib, автор Guido Draheim, для прозрачного чтения ZIP-архивов и фалов в них.

Обратите внимание, что ZZIPlib предоставляет только поднабор функций, предоставленных в полной реализации алгоритма ZIP-компрессии, и может только читать файловые ZIP-архивы. Необходима нормальная утилита ZIP для создания ZIP-архива, читаемого этой библиотекой.

Поддержка Zip в PHP по умолчанию не включена. Вы должны будете использовать опцию конфигурации --with-zip при компиляции PHP, чтобы включить поддержку zip. Этот модель требует ZZIPlib версии >= 0.10.6.

Примечание: Поддержка Zip до PHP 4.1.0 является экспериментальной. Данный раздел отражает расширение Zip, как оно имеется в PHP 4.1.0 и позднее.

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

В этом примере открывается файловый архив ZIP, читается каждый файл архива и печатается их содержимое. Архив test2.zip, используемый с этом примере, это один из тестовых архивов дистрибутива ZZIPlib.

Пример 1. Использования Zip

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {

    while ($zip_entry = zip_read($zip)) {
        echo "Name:               " . zip_entry_name($zip_entry) . "\n";
        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "File Contents:\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}

?>
Содержание
zip_close - закрывает файловый архив Zip
zip_entry_close - закрывает вхождение директории
zip_entry_compressedsize - запрашивает сжатый размер вхождения директории
zip_entry_compressionmethod - запрашивает метод сжатия вхождения директории
zip_entry_filesize - запрашивает реальный размер файла вхождения директории
zip_entry_name - запрашивает имя вхождения директории
zip_entry_open - открывает вхождение директории для чтения
zip_entry_read - читает из открытого вхождения директории
zip_open - открывает файловый архив Zip
zip_read - читает следующее вхождение в файловом архиве Zip

Назад
Оглавление Вперёд
yp_orderВверх zip_close