CXVI. 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 librairie 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

Le support ZIP de PHP n'est pas activé par défaut. Vous aurez besoin de l'activer avec l'option --with-zip dans le fichier de configuration de PHP.

Note : Le support Zip est expérimental avant PHP 4.1.0. Ce manuel est valable pour les versions 4.1.0 et plus récentes 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édefinies

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&eacute;elle du fichier : "  . zip_entry_filesize($zip_entry) . "\n";
        echo
"Taille compress&eacute;e du fichier : " . zip_entry_compressedsize($zip_entry) . "\n";
        echo
"M&eacute;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'archive
zip_entry_compressionmethod -- Lit la méthode de compression utilisée sur un dossier d'archive
zip_entry_filesize -- Lit la taille décompressée d'un dossier d'archive
zip_entry_name -- Lit le nom du dossier d'archive
zip_entry_open -- Ouvre un fichier d'archive 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