Примеры

В данном примере открывается временный файл, в него записывается строка, затем дважды печатается содержимое этого файла.

Пример #1 Небольшой пример использования 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";

// открыть файл для записи с максимальным сжатием
$zp gzopen($filename"w9");

// записать строку в файл
gzwrite($zp$s);

// Закрыть файл
gzclose($zp);

// открыть файл для чтения
$zp gzopen($filename"r");

// прочитать три символа
echo gzread($zp3);

// выводить до конца файла, затем закрыть его
gzpassthru($zp);
gzclose($zp);

echo 
"\n";

// открыть файл и напечатать его содержимое (во второй раз)
if (readgzfile($filename) != strlen($s)) {
     echo 
"Возникла ошибка с zlib функциями!";
}
unlink($filename);
echo 
"</pre>\n</body>\n</html>\n";

?>

Пример #2 Работа с API инкрементальной компрессии и декомпрессии, с PHP 7.0.0

<?php

// Выполняем компрессию 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);

// Выполняем декомпрессию GZIP:
$inflateContext inflate_init(ZLIB_ENCODING_GZIP);
$uncompressed inflate_add($inflateContext$compressedZLIB_NO_FLUSH);
$uncompressed .= inflate_add($inflateContextNULLZLIB_FINISH);
echo 
$uncompressed;
?>

Результат выполнения данного примера:

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