Maison >développement back-end >tutoriel php >Comment créer une archive ZIP téléchargeable de plusieurs fichiers à l'aide de PHP ?

Comment créer une archive ZIP téléchargeable de plusieurs fichiers à l'aide de PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-16 03:36:13278parcourir

How to Create a Downloadable ZIP Archive of Multiple Files Using PHP?

Création d'une archive ZIP pour télécharger plusieurs fichiers à l'aide de PHP

Dans le développement Web, il existe des scénarios dans lesquels vous devez fournir plusieurs fichiers à télécharger dans un seul package compressé . PHP offre une solution pratique pour cette tâche en utilisant la classe ZipArchive.

Utilisation de la classe ZipArchive

Pour créer une archive ZIP, suivez ces étapes :

$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);

Ici, $zip représente l'archive ZIP et $zipname est le nom de fichier souhaité.

Ajout de fichiers au Archive

Une fois l'archive ZIP créée, vous pouvez y ajouter des fichiers individuels :

foreach ($files as $file) {
  $zip->addFile($file);
}

Remplacez $files par un tableau contenant les chemins ou les noms des fichiers.

Fermeture et diffusion de l'archive

Après avoir ajouté tous les fichiers nécessaires, fermez le archive :

$zip->close();

Maintenant, diffusez l'archive sur le client pour téléchargement :

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

Ce code oblige le navigateur à afficher une boîte de téléchargement et désigne le nom du fichier. La taille du fichier est spécifiée pour résoudre les problèmes de compatibilité dans certains navigateurs.

Avec ces étapes, vous pouvez facilement créer et télécharger plusieurs fichiers sous la forme d'une seule archive ZIP à l'aide de PHP.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn