亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Table des matières
Créer une archive zip à partir de fichiers
Ajouter des fichiers avec des chemins personnalisés à l'intérieur du zip
Ajouter un répertoire entier récursivement
Maison développement back-end tutoriel php Comment créer une archive zip de fichiers dans PHP?

Comment créer une archive zip de fichiers dans PHP?

Sep 18, 2025 am 12:42 AM
php zip

Utilisez 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.

Comment créer une archive zip de fichiers dans PHP?

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!

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

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

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Mantianxing Comics Version complète Entrance_Mantianxing Comics Advertising Special Edition Lien Mantianxing Comics Version complète Entrance_Mantianxing Comics Advertising Special Edition Lien Sep 28, 2025 am 10:30 AM

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.

Comment obtenir le dernier ID inséré dans PHP MySQL? Comment obtenir le dernier ID inséré dans PHP MySQL? Sep 28, 2025 am 05:57 AM

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.

Comment faire écho aux balises HTML dans PHP Comment faire écho aux balises HTML dans PHP Sep 29, 2025 am 02:25 AM

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.

Comment utiliser les classes et méthodes finales en PHP? Comment utiliser les classes et méthodes finales en PHP? Sep 28, 2025 am 05:55 AM

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

Comment travailler avec les variables de demande GET en PHP? Comment travailler avec les variables de demande GET en PHP? Sep 29, 2025 am 01:30 AM

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

Quels sont les traits et comment les utiliser en php Quels sont les traits et comment les utiliser en php Oct 02, 2025 am 04:17 AM

TRAITSINPHPENABLEHORIZONTALCODEREUSEBYALLOING CLASSESTOINHERITMetMethodsfromreusableTraitContainers, contournant les liens de gamme.

MBTI Test gratuit du site officiel Entrance_ Lien URL du site Web de test gratuit MBTI MBTI Test gratuit du site officiel Entrance_ Lien URL du site Web de test gratuit MBTI Sep 28, 2025 am 10:00 AM

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é.

Comment utiliser set_error_handler pour créer un gestionnaire d'erreurs personnalisé dans PHP Comment utiliser set_error_handler pour créer un gestionnaire d'erreurs personnalisé dans PHP Oct 02, 2025 am 03:54 AM

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

See all articles