(PHP 7, PHP 8, PECL zip >= 1.13.0)
ZipArchive::setCompressionName — Définit la méthode de compression d'une entrée définit par son nom
$name, int $method, int $compflags = 0): boolDéfinit la méthode de compression d'une entrée définit par son nom.
nameNom de l'entrée.
method
       La méthode de compression, une des constantes
       ZipArchive::CM_*.
      
compflagsNiveau de compression.
   Cette fonction retourne true en cas de succès ou false si une erreur survient.
  
Exemple #1 Ajoute des fichiers avec différentes méthodes de compression dans une archive
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('foo', 'Some text');
    $zip->addFromString('bar', 'Some other text');
    $zip->setCompressionName('foo', ZipArchive::CM_STORE);
    $zip->setCompressionName('bar', ZipArchive::CM_DEFLATE);
    $zip->close();
    echo 'ok';
} else {
    echo 'échoué';
}
?>
Exemple #2 Ajoute un fichier et définir la méthode de compression
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFile('foo.jpg', 'bar.jpg');
    $zip->setCompressionName('bar.jpg', ZipArchive::CM_XZ);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>