Maison > développement back-end > tutoriel php > Comment créer un fichier zip et le télécharger à l'aide de PHP ZipArchive ?

Comment créer un fichier zip et le télécharger à l'aide de PHP ZipArchive ?

藏色散人
Libérer: 2023-04-05 12:42:01
original
4107 Les gens l'ont consulté

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.

Comment créer un fichier zip et le télécharger à l'aide de PHP ZipArchive ?

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
Copier après la connexion

L'exemple de code est le suivant :

 <?php


/* create a compressed zip file */
function createZip($files = array(), $destination = &#39;&#39;, $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 = &#39;my-archive.zip&#39;;
$files_to_zip = [&#39;demo1.jpg&#39;, &#39;demo2.jpg&#39;];
$result = createZip($files_to_zip, $fileName);


header("Content-Disposition: attachment; filename=\"".$fileName."\"");
header("Content-Length: ".filesize($fileName));
readfile($fileName);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal