PHP kézikönyv
Előző |  | Következő

# CXL. 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.

Előző | Tartalom | Következő
yaz_wait | Fel | zip_close