International PHP Conference Berlin 2025

Esempi

Questo esempio apre un file temporaneo e scrive una stringa di prova in esso, quindi stampa il contenuto di questo file due volte.

Example #1 Piccolo Esempio di Zlib

<?php

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

// apre il file in scrittura con la massima compressione
$zp = gzopen($filename, "w9");

// scrive una stringa nel file
gzwrite($zp, $s);

// chiude il file
gzclose($zp);

// apre il file in lettura
$zp = gzopen($filename, "r");

// legge 3 caratteri
echo gzread($zp, 3);

// stampa fino alla fine del file e lo chiude.
gzpassthru($zp);
gzclose($zp);

echo
"\n";

// apre il file e stampa il contenuto (per la seconda volta).
if (readgzfile($filename) != strlen($s)) {
echo
"Error with zlib functions!";
}
unlink($filename);
echo
"</pre>\n</body>\n</html>\n";

?>

Example #2 Utilizzo dell'API di compressione e decompressione incrementale a partire da PHP 7.0.0

<?php
// Esegue la compressione 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);

// Esegue la decompressione GZIP:
$inflateContext = inflate_init(ZLIB_ENCODING_GZIP);
$uncompressed = inflate_add($inflateContext, $compressed, ZLIB_NO_FLUSH);
$uncompressed .= inflate_add($inflateContext, NULL, ZLIB_FINISH);
echo
$uncompressed;
?>

Il precedente esempio visualizzerà:

Data to compress, more data, and even more data!
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top