ZipArchive::addFile

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

ZipArchive::addFileAjoute un fichier à l'archive ZIP depuis le chemin fourni

Description

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

Ajoute un fichier à une archive ZIP depuis le chemin fourni.

Note: Pour une portabilité maximale, il est recommandé de toujours utiliser des barres obliques (/) comme séparateur de dossier dans les noms de fichiers zip.

Liste de paramètres

filepath

Le chemin vers le fichier à ajouter

entryname

Si fourni, ce sera le nom local dans l'archive ZIP qui écrasera le contenu du paramètre filepath.

start

Pour copie partielle, position de départ.

length

Pour copie partielle, longeur à copier, si 0 ou -1 le fichier entier (à partir de start) est utilisé.

flags

Masque de bit consistant de ZipArchive::FL_OVERWRITE, ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437, ZipArchive::FL_OPEN_FILE_NOW. Le comportement de ces constantes est décrites sur la page des constantes ZIP.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Historique

Version Description
8.0.0 / 1.18.0 flags a été ajouté.
8.3.0 / 1.22.1 ZipArchive::FL_OPEN_FILE_NOW a été ajouté.

Exemples

Cet exemple ouvre l'archive ZIP test.zip et ajoute le fichier /path/to/index.txt, en tant que newname.txt.

Exemple #1 Ouverture et ajout

<?php
$zip
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
$zip->addFile('/chemin/vers/index.txt', 'newname.txt');
$zip->close();
echo
'ok';
} else {
echo
'échec';
}
?>

Notes

Note:

Lorsqu'un fichier est marqué comme étant à ajouter à l'archive, PHP va verrouiller ce fichier. Le verrou sera relaché uniquement lorsque l'objet ZipArchive sera fermé, soit via ZipArchive::close() soit via destruction de l'objet ZipArchive. Ceci peut vous empêcher de supprimer le fichier en cours d'ajout même après que le verrou soit relaché.

Voir aussi