Comment remplacer un fichier ZIP en PHP ?

Réponses rédigées par Antoine
Dernière mise à jour : 2022-11-25 20:57:03
Thèmes : php - fichier - zip
Question

Bonjour, comment faire pour remplacer un fichier ZIP en PHP, ou le créer si le fichier n'existe pas ?

Pour l'instant je fais comme ceci, mais si le fichier existe déjà, cela ne le remplace pas :

$zip = new ZipArchive();
$fichier = "fichier.zip";
if ($zip->open($fichier, ZipArchive::CREATE) === true) 
{

}
Réponse

En plus de la constante CREATE, vous pouvez utiliser la constante OVERWRITE ; si le fichier ZIP existe, cela permet d'ignorer son contenu tout en réécrivant le nouveau :

$zip = new ZipArchive();
$fichier = "fichier.zip";
if ($zip->open($fichier, (ZipArchive::CREATE | ZipArchive::OVERWRITE)) === true) 
{

}

Attention cependant, la constante OVERWRITE n'est disponible que depuis PHP version 8.0.

Vous trouverez d'avantage d'information via cette page du manuel de PHP.