ZipArchive::open

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::openÖffnet ein ZIP-Dateiarchiv

Beschreibung

publicZipArchive::open(string$filename, int$flags = 0): bool|int

Öffnet ein neues oder existierendes ZIP-Archiv für Lese-, Schreib- und Veränderungszugriffe.

Seit libzip 1.6.0 wird eine leere Datei nicht länger als gültiges Archiv angesehen.

Parameter-Liste

filename

Der Name des zu öffnenden ZIP-Archivs.

flags

Der Modus, in dem das zu öffnende Archiv verwendet werden soll.

Rückgabewerte

Gibt bei Erfolg true zurück, bei einem Fehler false oder einen der folgenden Fehlercodes:

ZipArchive::ER_EXISTS
Die Datei existiert bereits.
ZipArchive::ER_INCONS
Das Zip-Archiv ist inkonsistent.
ZipArchive::ER_INVAL
Ungültiges Argument.
ZipArchive::ER_MEMORY
Malloc-Fehler.
ZipArchive::ER_NOENT
Keine solche Datei.
ZipArchive::ER_NOZIP
Kein ZIP-Archiv.
ZipArchive::ER_OPEN
Datei konnte nicht geöffnet werden.
ZipArchive::ER_READ
Lesefehler.
ZipArchive::ER_SEEK
Positionierungsfehler.

Beispiele

Beispiel #1 Öffnen und extrahieren

<?php
$zip
= new ZipArchive;
$res = $zip->open('test.zip');
if (
$res === TRUE) {
echo
'ok';
$zip->extractTo('test');
$zip->close();
} else {
echo
'Fehler, Code:' . $res;
}
?>

Beispiel #2 Ein Archiv erstellen

<?php
$zip
= new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if (
$res === TRUE) {
$zip->addFromString('test.txt', 'Der Dateiinhalt kommt hier');
$zip->addFile('data.txt', 'eintragsname.txt');
$zip->close();
echo
'ok';
} else {
echo
'Fehler';
}
?>

Beispiel #3 Erstellen eines temporären Archivs

<?php
$name
= tempnam(sys_get_temp_dir(), "FOO");
$zip = new ZipArchive;
$res = $zip->open($name, ZipArchive::OVERWRITE);
if ($res === TRUE) {
$zip->addFile('data.txt', 'eintragsname.txt');
$zip->close();
echo
'ok';
} else {
echo
'Fehler';
}
?>
To Top