Comment créer une archive zip de fichiers dans PHP?
Sep 18, 2025 am 12:42 AMUtilisez la classe Ziparchive pour créer un fichier zip. Instancier et ouvrir le zip cible, ajouter des fichiers avec addFile, prendre en charge les chemins internes personnalisés, les fonctions récursives peuvent emballer l'intégralité du répertoire et enfin appeler près pour enregistrer pour s'assurer que PHP a des autorisations d'écriture.
Pour créer une archive zip de fichiers dans PHP, vous pouvez utiliser la classe ziparchive intégrée. Cette classe vous permet de créer, modifier et extraire facilement les archives ZIP.
Créer une archive zip à partir de fichiers
Voici comment créer un fichier zip à partir d'un ou plusieurs fichiers:
$ zip = new Ziparchive (); $ zipfile = 'archive.zip'; // Ouvrez le fichier zip (créer s'il n'existe pas) if ($ zip-> open ($ zipfile, ziparchive :: create)! == true) { Die ("Impossible de créer un fichier zip"); } // Liste des fichiers à ajouter $ files = ['file1.txt', 'file2.jpg', 'dossier / document.pdf']; foreach ($ files as $ file) { if (file_exists ($ file)) { $ zip-> addFile (fichier $, nom de base (fichier $)); // Nom des contr?les de paramètre du deuxième paramètre à l'intérieur du zip } } $ zip-> close (); Echo "Archive zip créé: $ zipfile";
Ajouter des fichiers avec des chemins personnalisés à l'intérieur du zip
Vous pouvez organiser des fichiers dans des répertoires dans le ZIP en spécifiant un chemin interne différent:
$ zip-> addfile ('local / path / image.jpg', 'images / photo.jpg'); $ zip-> addfile ('docs / readme.txt', 'project / docs / readme.txt');
Ajouter un répertoire entier récursivement
Si vous souhaitez zipper tous les fichiers dans un répertoire (y compris les sous-répertoires), utilisez une fonction récursive:
fonction addfoldertozip ($ dir, $ ziparchive, $ zippath = '') { $ files = scandir ($ dir); foreach ($ files as $ file) { if ($ file === '.' || $ file === '..') Continuer; $ filepath = "$ dir / $ file"; $ entryName = $ zippath === ''? $ fichier: "$ zippath / $ file"; if (is_dir ($ filepath)) { $ ziparchive-> addEmpTyDir ($ entryName); addfoldertozip ($ filepath, $ ziparchive, $ entryName); } autre { $ ziparchive-> addFile ($ filepath, $ entryName); } } } // utilisation $ zip = new Ziparchive (); if ($ zip-> open ('backup.zip', ziparchive :: create) === true) { addfoldertozip ('my_folder', $ zip); $ zip-> close (); }
Fondamentalement, utilisez simplement Ziparchive , ajoutez vos fichiers avec addFile () et appelez close () pour enregistrer. Assurez-vous que PHP a des autorisations d'écriture sur le répertoire cible. Il est fiable et ne nécessite pas d'extensions supplémentaires dans la plupart des paramètres.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La version complète de Mantianxing Comic est https://www.mantianxingmh.com. La plate-forme couvre une variété de thèmes tels que la passion, l'amour, le suspense, la science-fiction, etc., avec des ressources riches et des mises à jour en temps opportun et soutient la récupération classifiée; Il offre une qualité d'image à haute définition, des modes de virage à plusieurs pages, un ajustement de fond et une luminosité personnalisés, et dispose d'un mode de protection oculaire pour optimiser l'expérience de lecture; Les utilisateurs peuvent créer des étagères, enregistrer des enregistrements de lecture, télécharger hors ligne et réaliser des progrès de synchronisation croisée.

Utilisez mysqli_insert_id () (style de procédure), $ mysqli-> insert_id (style objet), ou $ pDo-> lastInsertid () (PDO) pour obtenir le dernier ID inséré et doit être appelé immédiatement dans la même connexion pour assurer une précision.

Utilisez des devis simples ou échappés doubles pour sortir HTML en php. Il est recommandé d'envelopper des cha?nes avec des devis simples pour éviter les conflits de citation d'attribut. Le contenu dynamique peut être généré en combinaison avec l'épissage variable ou la syntaxe Heredoc.

FinalClasses etthethodsInphPPreventInheritanceAndOverridToprotectCriticalCode.2.AfinalClassCannotBeExtend, AssuranceBehaviorremainSunchanged.3.AfinalMethCannotBeOverridden, PréservingConsistentImPlementationAcrosssubclasses.4

Utilisez $ _GetToAccessUrlQueryStringVariablesInphp, Suchasname = Johnandage = 30Fromhttps: //example.com/search.php? Name = John & Age = 30; AlwaysValidateandSanitizeInputsusingFilter_Input () etavoidSensivedataUrlSDueToExpossposorisersks.

TRAITSINPHPENABLEHORIZONTALCODEREUSEBYALLOING CLASSESTOINHERITMetMethodsfromreusableTraitContainers, contournant les liens de gamme.

L'entrée officielle du site Web de test gratuit MBTI est https://www.16personalities.com/. Le site Web fournit des tests de version chinoise et anglais, couvrant l'analyse des dimensions de la personnalité, des rapports personnalisés et des suggestions d'applications multi-scan, aidant les utilisateurs à acquérir une compréhension approfondie de leurs types de personnalité.

set_error_handlerinphPenablesCustomErrorHandlingByDefiningAfonction interceptient les produits de contr?le, permettant à un contr?le de contr?le et aux réponses conviviales;
