(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)
ZipArchive::addFile — Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu
$filename
[, string $localname
= NULL
[, int $start
= 0
[, int $length
= 0
[, int $flags
= ZipArchive::FL_OVERWRITE
]]]] ) : boolFügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu.
Hinweis: For maximum portability, it is recommended to always use forward slashes (
/
) as directory separator in ZIP filenames.
filename
Der Pfad zur hinzuzufügenden Datei.
localname
Falls übergeben, ist dies der lokale Name innerhalb des
ZIP-Archives, der den filename
überschreibt.
start
Die Startposition für partielles Kopieren.
length
Die Länge für partielles Kopieren;
wenn 0 oder -1, wird die gesamte Datei (beginnend bei start
) verwendet.
flags
Eine Bitmaske bestehend aus
ZipArchive::FL_OVERWRITE
,
ZipArchive::FL_ENC_GUESS
,
ZipArchive::FL_ENC_UTF_8
,
ZipArchive::FL_ENC_CP437
.
Das Verhalten dieser Konstanten wird in der
ZIP Konstanten Seite beschrieben.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Version | Beschreibung |
---|---|
8.0.0 / 1.18.0 |
flags wurde hinzugefügt.
|
Dieses Beispiel öffnet ein ZIP-Dateiarchiv test.zip und fügt die Datei /pfad/zur/datei.txt als neuername.txt hinzu.
Beispiel #1 Öffnen und hinzufügen
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->addFile('/pfad/zur/datei.txt', 'neuername.txt');
$zip->close();
echo 'ok';
} else {
echo 'Fehler';
}
?>
Hinweis:
Falls eine Datei zu einem Archiv hinzugefügt werden soll, wird PHP die Datei sperren; die Sperre wird erst gelöst, nachdem das ZipArchive Objekt geschlossen wurde, entweder per ZipArchive::close(), oder weil das ZipArchive Objekt zerstört wurde. Dies kann dazu führen, dass die hinzuzufügende Datei erst gelöscht werden kann nachdem die Sperre gelöst wurde.