Maison >développement back-end >tutoriel php >Comment créer un fichier zip et le télécharger à l'aide de PHP ZipArchive ?
Pendant le processus de développement du projet, nous devrons peut-être implémenter la fonction de création de fichiers zip et de fourniture de téléchargements. Nous pouvons donc ici utiliser la classe ZipArchive pour créer un fichier zip puis le télécharger.
Laissez-moi vous donner un exemple simple. Parfois, nous devons utiliser du code php pour créer un fichier d'archive zip, ajouter des photos, des documents, etc. au fichier zip, puis le fournir en téléchargement. Ici, nous allons créer une méthode très simple createZip() qui aidera à créer des fichiers d'archive zip. En utilisant cette méthode, vous pouvez simplement transmettre un tableau de fichiers, documents, images et chemins.
Recommandations associées : "[bibliothèque de fichiers zip] 10 téléchargements de bibliothèque de fichiers zip php"
Ci-dessous, j'ai écrit un exemple de fichier index.php très simple, vous pouvez le copier directement et exécutez-le localement pour le tester.
Assurez-vous qu'il y a un fichier image disponible dans le fichier index.php :
1)demo1.jpg 2)demo2.jpg
L'exemple de code est le suivant :
<?php /* create a compressed zip file */ function createZip($files = array(), $destination = '', $overwrite = false) { if(file_exists($destination) && !$overwrite) { return false; } $validFiles = []; if(is_array($files)) { foreach($files as $file) { if(file_exists($file)) { $validFiles[] = $file; } } } if(count($validFiles)) { $zip = new ZipArchive(); if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; } foreach($validFiles as $file) { $zip->addFile($file,$file); } $zip->close(); return file_exists($destination); }else{ return false; } } $fileName = 'my-archive.zip'; $files_to_zip = ['demo1.jpg', 'demo2.jpg']; $result = createZip($files_to_zip, $fileName); header("Content-Disposition: attachment; filename=\"".$fileName."\""); header("Content-Length: ".filesize($fileName)); readfile($fileName);
Ceci L'article porte sur l'utilisation de PHP ZipArchive et explique comment créer des fichiers zip et les télécharger. J'espère que cela sera utile aux amis dans le besoin !
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!