php-pecl-zip test
+
Par Remi le jeudi 25 mai 2006, 09:38 - HowTo - Lien permanent
I've recently released a RPM of php-pecl-zip version 1.3.1. Here is some test pages to read and create ZIP file from PHP.
J'ai récemment contruit le RPM de php-pecl-zip version 1.3.1. Voici quelques pages de test permettant de lire et de créer des fichiers ZIP depuis PHP.
Bien sur l'extention php-pecl-1.7.2-1 doit être installée (à partir de mon dépôt en attendant qu'elle soit disponible dans les Extras).
yum --enablerepo=remi install php-pecl-zip
Lecture d'une archive
Enregistrer la page suivante dans un dossier de votre serveur web contenant quelques fichiers .ZIP :
- Lecture.php (2 Ko, pensez à changer le suffixe lors de l'enregistrement)
Lors de l'appel de la page, elle vous propose une liste des archives contenu dans son dossier.
En sélectionnant une archive, vous visualisez son contenu (liste des fichiers).
En sélectionnant un fichier, vous visualisez contenu (en texte uniquement, n'essayez donc pas d'afficher une image ou un autre fichier binaire).
Création d'une archive.
Enregistrer les 2 pages suivantes dans un dossier de votre serveur web :
- Creer.php (3 Ko)
- CreerZip.php (1 Ko)
La première page constitue un petit formulaire permettant d'envoyer quelques fichiers au serveur web (appel de la seconde page).
La seconde page constitue une archive dans le dossier temporaire (/tmp) puis l'envoie au navigateur.
Conclusion.
Bien sur ces examples ne sont pas destinés à être utilisés directement en production mais permettent d'illustrer le fonctionnement de cette bibliothèque de fonctions.
php-pecl-zip est vraiment une extension trés intéressante et trés simple à utiliser. On regrettera que la documentation ne concerne que l'ancienne version en lecture seule. L'approche "object" et la possibilité de création d'archive de la version actuelle me semblent vraiment indispensable.
La meilleure source d'information reste donc les exemples fournis avec l'extension et stockés dans le dossier /usr/share/doc/php-pecl-zip-1.7.2.
Vos commentaires sont bien sûrs les bienvenus.
Commentaires
Remi,
Je viens d'utiliser sans succes ce paquet sur Fedora 4. En effet l'installation se déroule correctement. Malheuresement le fichier zip.so présent dans le répertoire /usr/lib/php/modules n'est peut être pas bien compilé. Après l'installation, la commande php -m me sort le message du genre : "zip.so: undefined symbol: _zval_ptr_dtor in ...". J'ai donc été obligé d'utiliser ta méthode proprosée sur le Forum "www.fedora-france.org/mod...
wget pecl.php.net/get/zip-1.2....
pear install zip-1.2.3.tgz
qui marche très bien d'ailleurs. L'inconvénient évidement c'est qu'elle nécessite l'installation des paquets suivants (et leur dépendances) automake, make, gcc, de php-pear, de zlib-devel etc...
Voilà si cela peut t'aider à améliorer le contenu de ton paquet.
Encore merci.
Ce message est lié à la dépendance du RPM sur la version de php-5.1.4 disponible dans mon dépôt.
C'est normal que ça ne marche pas avec le version standard (5.0.4) de FC4 (d'ailleur je vais vérifier les dépendances).
Mise à jour des exemples pour fonctionner avec la version >= 1.6.0 (la classe Zip se nomme désormais ZipArchive).
bonjours... je trouve cet exemple fort interessent mais je n'arrive pas a sauvgarder le fichier dans le repertoir que je veux sur le serveur ... et j'aimerai bien eviter de refaire systematiquement le zip a la volee...
aurais tu une solution ?
voila merci :)