# Beispiele

Dieses Beispiel öffnet eine temporäre Datei und schreibt einen Teststring in die Datei, dann wird der Inhalt dieser Datei zweimal ausgegeben.

Beispiel #1 Ein kleines Beispiel zu Zlib

    <?php

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

    // Temporäre Datei zum Schreiben mit der maximalen Kompressionsstufe öffnen
    $zp = gzopen($filename, "w9");

    // String in die Datei schreiben
    gzwrite($zp, $s);

    // Datei schließen
    gzclose($zp);

    // Datei zum Lesen öffnen
    $zp = gzopen($filename, "r");

    // 3 Zeichen einlesen und ausgeben
    echo gzread($zp, 3);

    // Inhalt der Datei ausgeben und die Datei schließen
    gzpassthru($zp);
    gzclose($zp);

    echo "\n";

    // Öffne die Datei und gib den Inhalt zum zweiten Mal aus
    if (readgzfile($filename) != strlen($s)) {
            echo "Error with zlib functions!";
    }
    unlink($filename);
    echo "</pre>\n</body>\n</html>\n";

    ?>

Beispiel #2 Arbeiten mit den inkrementellen Kompriemierungs- und Dekomprimierungs-API

    <?php
    // führe GZIP-Komprimierung durch:
    $deflateContext = deflate_init(ZLIB_ENCODING_GZIP);
    $compressed = deflate_add($deflateContext, "Zu komprimierende Daten", ZLIB_NO_FLUSH);
    $compressed .= deflate_add($deflateContext, ", weitere Daten", ZLIB_NO_FLUSH);
    $compressed .= deflate_add($deflateContext, ", und noch mehr Daten!", ZLIB_FINISH);

    // führe GZIP-Dekomprimierung durch:
    $inflateContext = inflate_init(ZLIB_ENCODING_GZIP);
    $uncompressed = inflate_add($inflateContext, $compressed, ZLIB_NO_FLUSH);
    $uncompressed .= inflate_add($inflateContext, NULL, ZLIB_FINISH);
    echo $uncompressed;
    ?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    Zu komprimierende Daten, weitere Daten, und noch mehr Daten!

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