ZipArchive::addFile

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

ZipArchive::addFileFügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu

Beschreibung

publicZipArchive::addFile(
    string$filepath,
    string$entryname = "",
    int$start = 0,
    int$length = ZipArchive::LENGTH_TO_END,
    int$flags = ZipArchive::FL_OVERWRITE
): bool

Fügt eine Datei von einem gegebenen Pfad zu einem ZIP-Archiv hinzu.

Hinweis: Für maximale Portierbarkeit wird empfohlen, in ZIP-Dateinamen immer Schrägstriche (/) als Verzeichnis-Trennzeichen zu verwenden.

Parameter-Liste

filepath

Der Pfad zur hinzuzufügenden Datei.

entryname

Falls übergeben und nicht leer, ist dies der lokale Name innerhalb des ZIP-Archives, der den filepath überschreibt.

start

Die Startposition für partielles Kopieren.

length

Die Länge für partielles Kopieren; bei ZipArchive::LENGTH_TO_END (0) wird die Dateigröße verwendet, bei ZipArchive::LENGTH_UNCHECKED wird die gesamte Datei verwendet (beginnend bei start).

flags

Eine Bitmaske bestehend aus ZipArchive::FL_OVERWRITE, ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437, ZipArchive::FL_OPEN_FILE_NOW. Das Verhalten dieser Konstanten wird auf der Seite ZIP-Konstanten beschrieben.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

VersionBeschreibung
8.0.0 / 1.18.0flags wurde hinzugefügt.
8.3.0 / 1.22.1ZipArchive::FL_OPEN_FILE_NOW wurde hinzugefügt.
8.3.0 / 1.22.2ZipArchive::LENGTH_TO_END und ZipArchive::LENGTH_UNCHECKED wurden hinzugefügt.

Beispiele

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';
}
?>

Anmerkungen

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.

Siehe auch

To Top