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

publicZipArchive::addFile(
    string$filepath,
    string$entryname = "",
    int$start = 0,
    int$length = ZipArchive::LENGTH_TO_END,
    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 ZipArchive::LENGTH_TO_END (0) est spécifié, la taille du fichier est utilisée. Si ZipArchive::LENGTH_UNCHECKED est spécifié, la totalité du fichier est utilisée (à partir de start).

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

VersionDescription
8.0.0 / 1.18.0flags a été ajouté.
8.3.0 / 1.22.1ZipArchive::FL_OPEN_FILE_NOW a été ajouté.
8.3.0 / 1.22.2ZipArchive::LENGTH_TO_END et ZipArchive::LENGTH_UNCHECKED ont été ajoutés.

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

To Top