Ce module vous permet de lire et d'écrire des archives compressées ZIP ainsi que les fichiers contenus dans ces archives.
La version initiale est fournie avec PHP 4 et est disponible dans PECL depuis la version 1.0, voir http://pecl.php.net/package/zip. Elle ne peut que lire les archives ZIP.
Cette version utilisent les fonctions de la bibliothèque ZZIPlib de Guido Draheim. Vous devez avoir d'installer la bibliothèque ZZIPlib en version >= 0.10.6.
La nouvelle version est fournie avec PHP 5.2.0 ou suivant et est disponible dans PECL depuis la version 1.1.0 ou suivant. Elle ne nécessite pas de bibliothèque externe. Elle peut lire et écrire des archives ZIP lorsqu'elle est utilisée avec PHP 5.1 ou suivant et elle ne peut que les lire lorsqu'elle est utilisée avec PHP 4.
Cette extension PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : http://pecl.php.net/package/zip.
Pour pouvoir utiliser ces fonctions, vous devez compiler PHP avec le support
ZIP en utilisant l'option de configuration --with-zip[=DIR]
où [DIR] est le préfixe de l'installation de la bibliothèque
ZZIPlib.
Pour pouvoir utiliser ces fonctions, vous devez compiler PHP avec le
support ZIP en utilisant l'option de configuration
--enable-zip
. Ceci ne nécessite pas
de bibliothèque externe.
Note : Vous pouvez utiliser la version PECL avec PHP 4. Pour cela, vous devez désactiver l'extension ZIP interne ou bien recompiler PHP sans celle-ci.
Les utilisateurs de Windows doivent activer la bibliothèque php_zip.dll dans le php.ini pour pouvoir utiliser ces fonctions. En PHP 4, cette bibliothèque DLL se trouve dans le dossier extensions/ avec les binaires PHP pour Windows téléchargées. Vous pouvez télécharger ces bibliothèques DLL pour ces extensions PECL depuis la page de téléchargement de PHP sous sur la page http://snaps.php.net/.
Note : Le support ZIP avant PHP 4.1.0 est expérimental. Cette section traite de l'extension ZIP tel qu'elle existe en PHP 4.1.0 et suivant.
Les utilisateurs de WIndows doivent activer la bibliothèque php_zip.dll dans le php.ini pour pouvoir utiliser ces fonctions. En PHP 4, cette bibliothèque DLL se trouve dans le dossier extensions/ avec les binaires PHP pour Windows téléchargées. Vous pouvez télécharger ces bibliothèques DLL pour ces extensions PECL depuis la page de téléchargement de PHP sous sur la page http://snaps.php.net/.
Cette extension ne définit aucune directive de configuration.
Il y a deux types de ressources utilisées dans le module ZIP. La première représente le dossier ZIP pour l'archive ZIP, la seconde, l'entrée ZIP pour les entrées de l'archive.
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
ZipArchive utilise des constantes de classe. Il y a trois types de constantes, les flags (FL_), les erreurs (ER_) ou les modes (no prefix).
Crée l'archive si elle n'existe pas.
Démarre toujours une nouvelle archive. Ce mode écrase le fichier s'il existe déjà.
Erreur si l'archive existe déjà.
Effectue des analyses supplémentaires de consistences et émet une erreur si elles échouent.
Ignore la casse sur le nom
Ignore le composant dossier
Lit les données compressées
Utilise les données originales, ignore les modifications
meilleur compression ou stocke
stocké (non-compressé)
retrait
réduit de facteur 1
réduit de facteur 2
réduit de facteur 3
réduit de facteur 4
réunit
compression
compression 64
réunit PKWARE
algorithme BZIP2
Aucune erreur
archives ZIP multi-disques non supportées
échec du renommage du fichier temporaire
échec de la fermeture de l'archive ZIP
erreur de pointeur
erreur de lecture
erreur d'écriture
erreur CRC
archive ZIP fermée
le fichier n'existe pas
le fichier existe déjà
impossible d'ouvrir le fichier
échec lors de la création du fichier temporaire
erreur Zlib
échec d'allocation mémoire
l'entrée a été modifiée
méthode de compression non supportée
EOF prématuré
argument invalide
ce n'est pas une archive ZIP
erreur interne
archive ZIP inconsistente
impossible d'effacer le fichier
l'entrée a été supprimée
Exemple 2. Affiche les détails de l'archive et liste son contenu
|
Exemple 3. Gestionnaire de flux ZIP, lit les méta-informations d'OpenOffice
|
Cet exemple utilise l'ancienne API (PHP 4), il ouvre une archive ZIP, lit chaque fichier de l'archive et affiche leurs contenus. L'archive test2.zip utilisé dans cet exemple est une des archives de test des sources de ZZIPlib.
Exemple 4. Exemple d'utilisation Zip
|
Précédent | Sommaire | Suivant |
yp_order | Niveau supérieur | zip_close |