(PHP >= 8.0.0, PECL zip >= 1.18.0)
ZipArchive::replaceFile — Remplace un fichier d'une archive ZIP
$filepath,$index,$start = 0,$length = 0,$flags = 0Remplace un fichier d'une archive ZIP avec un fichier donné.
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.
filepathLe chemin vers le fichier à ajouter.
indexL'index du fichier à remplacer ; son nom restera inchangé.
startPour une copie partielle, la position de départ.
length
       Pour une copie partielle, la longueur à copier ; si vaut 0 ou -1, le fichier
       entier sera utilisé (en commençant à la position start).
      
flags
       Un masque composé d'une des constantes suivantes :
       ZipArchive::FL_ENC_GUESS,
       ZipArchive::FL_ENC_UTF_8,
       ZipArchive::FL_ENC_CP437.
       Le comportement de ces constantes est décrit sur la page
       des constantes ZIP.
      
   Cette fonction retourne true en cas de succès ou false si une erreur survient.
  
Cet exemple ouvre un fichier archive ZIP test.zip et remplace l'index 1 par /path/to/index.txt.
Exemple #1 Ouvre et remplace
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->replaceFile('/path/to/index.txt', 1);
    $zip->close();
    echo 'ok';
} else {
    echo 'échec';
}
?>