CXL. Accès aux fichiers Zip (Lecture seule)

Introduction

Ce module permet l'accès transparent aux archives compressées par la méthode ZIP : on peut y lire les fichiers et les dossiers qui y sont contenus.

Pré-requis

Ce module utilise les fonctions de la bibliothèque ZZIPlib, écrite par Guido Draheim. Vous aurez besoin de ZZIPlib version >= 0.10.6.

Notez que ZZIPlib fournit une partie de l'implémentation complète de l'algorithme de compression ZIP, et peut uniquement lire des archives ZIP. Un utilitaire ZIP normal est nécessaire pour créer l'archive elle-même.

Installation

Cette extension PECL n'est pas intégrée à PHP. Des 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.

En PHP 4, les sources de cette extension PECL peuvent être trouvées dans le dossier ext/ avec les sources de PHP ou sur le lien PECL ci-dessous. Si vous voulez utiliser ces fonctions, vous devez compiler PHP avec le support zip en utilisant l'option de configuration --with-zip[=DIR].

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 dans les versions antérieures à PHP 4.1.0 est expérimental. Cette section reflète l'extension Zip comme elle existe dans les version 4.1.0 et suivantes de PHP.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes pré-définies

Cette extension ne définit aucune constante.

Exemples

Cet exemple ouvre un fichier ZIP, lit chaque fichier de l'archive, et en affiche le contenu. Le fichier d'archive test2.zip utilisé dans cet exemple est fourni dans la distribution source de ZZIPlib.

Exemple 1. Exemple d'utilisation de ZIP

<?php

$zip
= zip_open("/tmp/test2.zip");

if (
$zip) {

    while (
$zip_entry = zip_read($zip)) {
        echo
"Nom :               " . zip_entry_name($zip_entry) . "\n";
        echo
"Taille réelle du fichier : "  . zip_entry_filesize($zip_entry) . "\n";
        echo
"Taille compressée du fichier : " . zip_entry_compressedsize($zip_entry) . "\n";
        echo
"Méthode de compression : " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (
zip_entry_open($zip, $zip_entry, "r")) {
            echo
"Contenu du fichier : \n";
            
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo
"$buf\n";

            
zip_entry_close($zip_entry);
        }
        echo
"\n";

    }

    
zip_close($zip);

}

?>
Table des matières
zip_close -- Ferme une archive Zip
zip_entry_close -- Ferme un dossier d'archive
zip_entry_compressedsize -- Lit la taille compressée d'un dossier d'archives
zip_entry_compressionmethod -- Lit la méthode de compression utilisée sur un dossier d'archives
zip_entry_filesize -- Lit la taille décompressée d'un dossier d'archives
zip_entry_name -- Lit le nom d'un dossier d'archives
zip_entry_open -- Ouvre un dossier d'archives en lecture
zip_entry_read -- Lit le contenu d'un fichier dans un dossier
zip_open -- Ouvre une archive ZIP
zip_read -- Lit la prochaine entrée dans une archive ZIP