# Exemples

Cet exemple ouvre un fichier temporaire et y écrit une chaîne de test, puis, affiche le contenu de ce fichier, deux fois.

Exemple #1 Exemple avec Zlib

    <?php

    $filename = tempnam('/tmp', 'zlibtest') . '.gz';
    echo "<html>\n<head></head>\n<body>\n<pre>\n";
    $s = "Seulement un test, test, test, test, test, test, test, test!\n";

    // Ouvre un fichier en écriture, avec une compression maximale
    $zp = gzopen($filename, "w9");

    // Écrit une chaîne dans le fichier
    gzwrite($zp, $s);

    // Ferme le fichier
    gzclose($zp);

    // Ouvre un fichier en lecture
    $zp = gzopen($filename, "r");

    // Lit 3 caractères
    echo gzread($zp, 3);

    // Lit tout le contenu et ferme le fichier
    gzpassthru($zp);
    gzclose($zp);

    echo "\n";

    // Ouvre un fichier et affiche le contenu (pour la deuxième fois).
    if (readgzfile($filename) != strlen($s)) {
            echo "Erreur avec les fonctions zlib !";
    }
    unlink($filename);
    echo "</pre>\n</body>\n</html>\n";

    ?>

Exemple #2 Fonctionnement avec l'API de compression et de décompression incrémentale

    <?php
    // Compression GZIP :
    $deflateContext = deflate_init(ZLIB_ENCODING_GZIP);
    $compressed = deflate_add($deflateContext, "Data to compress", ZLIB_NO_FLUSH);
    $compressed .= deflate_add($deflateContext, ", more data", ZLIB_NO_FLUSH);
    $compressed .= deflate_add($deflateContext, ", and even more data!", ZLIB_FINISH);

    // Décompression GZIP :
    $inflateContext = inflate_init(ZLIB_ENCODING_GZIP);
    $uncompressed = inflate_add($inflateContext, $compressed, ZLIB_NO_FLUSH);
    $uncompressed .= inflate_add($inflateContext, NULL, ZLIB_FINISH);
    echo $uncompressed;
    ?>

L'exemple ci-dessus va afficher :

    Data to compress, more data, and even more data!

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open