mirror of
https://github.com/danog/byte-stream.git
synced 2024-11-26 20:04:51 +01:00
1.1 KiB
1.1 KiB
title | permalink |
---|---|
Compression Streams | /compression-streams |
This package implements compression and decompression streams based on Zlib. ZlibOutputStream
can be used for compression, while ZlibInputStream
can be used for decompression. Both can simply wrap an existing stream to apply them. Both accept an $encoding
and $options
parameter in their constructor.
Examples
$inputStream = new ResourceInputStream(STDIN);
$gzInputStream = new ZlibInputStream($inputStream, \ZLIB_ENCODING_GZIP);
while (null !== $chunk = yield $gzInputStream) {
print $chunk;
}
$outputStream = new ResourceOutputStream(STDOUT);
$gzOutputStream = new ZlibOutputStream($outputStream, \ZLIB_ENCODING_GZIP);
for ($i = 0; $i < 100; $i++) {
yield $gzOutputStream->write(bin2hex(random_bytes(32));
}
yield $gzOutputStream->end();