Création d'une archive ZIP à partir de plusieurs fichiers en PHP
Question : Comment puis-je télécharger plusieurs fichiers au format ZIP archiver en utilisant PHP ?
Solution :
Pour y parvenir, vous pouvez exploiter la classe ZipArchive de PHP. Voici comment procéder :
Créer une archive ZIP :
$files = array('readme.txt', 'test.html', 'image.gif'); $zipname = 'file.zip'; $zip = new ZipArchive; $zip->open($zipname, ZipArchive::CREATE);
Ajouter des fichiers à le ZIP Archive :
foreach ($files as $file) { $zip->addFile($file); }
Fermer l'archive ZIP :
$zip->close();
Diffuser l'archive ZIP vers le Client :
header('Content-Type: application/zip'); header('Content-disposition: attachment; filename="'.$zipname.'"'); header('Content-Length: ' . filesize($zipname)); readfile($zipname);
La première ligne de la section streaming spécifie le type de contenu sous forme d'archive ZIP. La deuxième ligne demande au navigateur d'afficher une boîte de téléchargement pour l'utilisateur et attribue le nom de fichier file.zip. La troisième ligne calcule et définit l'en-tête Content-Length pour les navigateurs plus anciens qui peuvent rencontrer des problèmes sans connaître à l'avance la taille du fichier.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!