CX. Zip Fájl függvények (csak olvasáshoz)

Ez a modul a ZZIPlib könyvtár függvényeit használja, a zip eljárással tömörített állományok és a bennük levő fájlok olvasásához. A ZZIPlib-et Guido Draheimnek köszönhetjük.

Vedd figyelembe, hogy a ZZIPlib csak a teljes zip imlementációnak megfelelő tömörített zip fájlokat kezeli. A zip programkészletre is szükség van ahhoz, hogy zip fájlokat olvasson a modul.

A zip támogatás nincs beépítve a PHP-ben, a --with-zip opcióval kell fordítanod, hogy használhasd. Szükség van még a ZZIPlib 0.10.6 vagy későbbi kiadására is.

Megjegyzés: A zip támogatás a PHP 4.1.0-nál régebbi verziókban csak kísérleti jellegű, tehát ezekben nem működik megbízhatóan. Ez a dokumentum a 4.1.0 és az újabb PHP verziók zip modulját mutatja be.

Példa

Az alábbi példa megnyit egy zip állományt, beolvassa a benne található fájlokat és kinyomtatja tartalmukat. A példában felhasznált test2.zip állomány a ZZIPlib csomag egyik "beépített" próba állománya.

Példa 1. Példaprogram

<?php

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

if ($zip) {

    while ($zip_entry = zip_read($zip)) {
        echo "Név:                " . zip_entry_name($zip_entry) . "\n";
        echo "Tömörítetlen méret: " . zip_entry_filesize($zip_entry) . "\n";
        echo "Tömörített méret:   " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Tömörítési metódus: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "A fájl tartalma:\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);

}

?>

A program először megnyitja a megadott útvonalon található test2.zip fájlt. A ciklust addig végzi, amíg a a zip_read() egy érvényes $zip_entry (vagyis a zip állományban létező fájl vagy könyvtár) értékkel tér vissza. A zip_read() tulajdonképpen egy tömb eléréseként képzelhető, amely tömbbe a zip_open() betölti a megnyitott zip állományban lévő fájlok neveit. Minden egyes ciklusnál a program automatikusan előre lépteti a tömböt eggyel.

Tartalom
zip_close -- Lezár egy megnyitott ZIP állományt
zip_entry_close -- Lezár egy ZIP állományban található objektumot
zip_entry_compressedsize -- Egy zip-ben lévő objektum tömörített méretét adja vissza
zip_entry_compressionmethod --  A megadott zip objektum tömörítési típusával tér vissza
zip_entry_filesize --  Az adott zip objektum tömörítetlen fájlméretét adja vissza
zip_entry_name -- A zip objektum nevével tér vissza
zip_entry_open -- Olvasásra megnyit egy zip objektumot
zip_entry_read -- Olvas egy megnyitott zip objektumból
zip_open -- Megnyit egy zip állományt
zip_read -- Beolvassa a soron következő zip objektumot egy zip állományban