ZipArchive::addFile

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

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

Beschreibung

public ZipArchive::addFile ( string $filename [, string $localname = NULL [, int $start = 0 [, int $length = 0 [, int $flags = ZipArchive::FL_OVERWRITE ]]]] ) : bool

Fü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.

Parameter-Liste

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.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version Beschreibung
8.0.0 / 1.18.0 flags wurde 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