(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::open — Bir ZIP dosya arşivi açar
Okumak, yazmak veya değiştirmek amacıyla bir zip arşivi açar.
libzip 1.6.0'dan beri, boş dosya artık geçerli bir arşiv değil.
dosyaAçılacak ZIP arşivinin dosya ismi.
seçeneklerArşivin açılacağı kip; şu sabitlerden biridir:
Başarı durumunda true yoksa aşağıdaki hata kodarından biri döner:
ZipArchive::ER_EXISTSDosya zaten mevcut.
ZipArchive::ER_INCONSZip arşivi tutarsız.
ZipArchive::ER_INVALGeçersiz bağımsız değişken.
ZipArchive::ER_MEMORYMalloc hatası.
ZipArchive::ER_NOENTBöyle bir dosya yok.
ZipArchive::ER_NOZIPBir zip arşivi değil.
ZipArchive::ER_OPENDosya açılamiyor.
ZipArchive::ER_READOkuma hatası.
ZipArchive::ER_SEEKKonumlama hatası.
Örnek 1 - Bir arşivi açıp içeriğini dökmek
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
echo 'Tamam';
$zip->extractTo('test');
$zip->close();
} else {
echo 'Olmadı, kod:' . $res;
}
?>Örnek 2 - Bir arşiv oluşturmak
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('test.txt', 'Bu dizge dosyanın içeriğidir.');
$zip->addFile('data.txt', 'entryname.txt');
$zip->close();
echo 'Tamam';
} else {
echo 'Olmadı';
}
?>Örnek 3 - Geçici bir arşiv oluşturma
<?php
$name = tempnam(sys_get_temp_dir(), "FOO");
$zip = new ZipArchive;
$res = $zip->open($name, ZipArchive::OVERWRITE); // boş dosya budanmaz
if ($res === TRUE) {
$zip->addFile('data.txt', 'entryname.txt');
$zip->close();
echo 'Tamam';
} else {
echo 'Olmadı';
}
?>