Le ZIP est un format de fichier normalement utilisé pour archiver des fichiers avec compression d'informations. Lorsque vous devez permettre au client de télécharger de nombreux dossiers et fichiers à partir du serveur, vous devez créer un fichier ZIP à la volée. Il compresse les fichiers et les archives pour télécharger de nombreux fichiers à la fois. La création de fichiers ZIP à partir du script PHP est basique, tout comme la fonctionnalité d'ajout à l'archive dans le système.
La création d'une archive ZIP à partir du répertoire peut être exécutée efficacement en utilisant PHP. La classe ZipArchive en PHP donne une capacité instantanée pour compresser des fichiers ou un organiseur dans le fichier ZIP. Vous pouvez archiver l'ensemble du répertoire de manière récursive dans un fichier ZIP en utilisant PHP. Dans cet exercice pédagogique, nous vous montrerons les meilleures pratiques pour créer un fichier ZIP à partir d'un dossier en utilisant PHP.
Classe pour ZipArchiver :
La classe ZipArchiver crée un fichier ZIP à partir d'un dossier (fichiers et sous-dossiers) sur le serveur à l'aide de PHP ZipArchive .
Créez le fichier ZipArchiver.class.php et mettez le code ci-dessous :
zipDir () - cette fonction permet de rendre Zip d'un dossier de manière récursive, y compris le répertoire parent.
$sourcePath - Chemin relatif du répertoire à compresser.
$outZipPath - chemin du fichier zip de sortie .
dirToZip () - Il s'agit d'une fonction d'assistance de classe qui inclut des fichiers et des sous-répertoires dans un dossier pour compresser le fichier.
Créez maintenant un ZIP en PHP
nous utiliserons la classe ZipArchiver pour archiver tous les fichiers et sous-répertoires du dossier donné et créer un fichier ZIP à partir du script en PHP.
- Incluez la classe ZipArchive et initialisez-la.
- Décrivez le chemin du répertoire que vous devez archiver en tant que ZIP.
- Décrivez le chemin d'accès pour enregistrer ou stocker le fichier ZIP sur le serveur.
- Appelez la capacité zipDir() de la classe ZipArchiver pour créer ZIP.
Créez le fichier index.php et écrivez le code ci-dessous