Ce code est issu d'une remarque trouvée sur le site http://www.phpcs.com
A la suite d'une source de Malik7934 montrant un formulaire d'upload permettant de créer un fichier ZIP à partir de ce fichier envoyé, un commentaire demandait s'il serait possible de gérer un dossier ou une liste de fichiers de façon automatique
Du coup l'idée m'est venue d'écrire ce code pour mon besoin propre :
faire une sauvegarde Zippée avant une mise à jour ou un test comportant des opérations complexes, etc.
Si le fichier Zip à créer n'est pas nommé, un nom automatique lui est affecté : 'Sauvegarde JJ/MM/AAAA HhMmSs.zip'
Cette classe s'appuie sur l'excellente bibliothèque pclZip découverte par hasard sur le formulaire cité ci-dessus via http://www.phpcs.com.
Le site : http://www.phpconcept.net/phpzip/index.php permet de récupérer la dernière version (2.5 à la rédaction de ces lignes)
ainsi que la documentation. D'autres sources sont d'ailleurs mises à disposition pour gérer d'autres formats de compression...
La classe Zipper a donc pour but de simplifier à l'extrême la création d'une archive ZIP contenant :
- soit une liste de fichiers
- soit un dossier et tout son contenu.
testé sous PHP5 en local, vous devriez pouvoir l'utiliser en PHP4 en modifiant les mots protected par var juste en-dessous de ces lignes d'explication. Je ne l'ai pas testé sur une serveur Linux !
Les methodes fournies permettent d'en modifier le fonctionnement, mais quasiment rien n'est obligatoire...
REMARQUE : merci aux gourous de ne pas m'assassiner, ce code est ma première contribution faite essentiellement pour remercier tous ceux dont j'ai pu lire et utiliser des bouts de code voire parfois la totalité dans mes projets.
AUTRE REMARQUE : ce code est aussi mon premier code objet... ma première classe. Issu de la vieille école de programmation, j'ai mis longtemps à trouver un intérêt aux objets (j'ai honte...)
Merci de vos critiques et remarques dès l'instant où c'est constructif !