deflate_init
(PHP 7, PHP 8)
Initialize an incremental deflate context
Description
Initializes an incremental deflate context using the specified encoding.
Note that the window option here only sets the window size of the algorithm, differently from the zlib filters where the same parameter also sets the encoding to use; the encoding must be set with the encoding parameter.
Limitation: there is currently no way to set the header information on a GZIP compressed stream, which are set as follows: GZIP signature (\x1f\x8B); compression method (\x08 == DEFLATE); 6 zero bytes; the operating system set to the current system (\x00 = Windows, \x03 = Unix, etc.)
Parameters
encodingOne of the
ZLIB_ENCODING_*constants.optionsAn associative array which may contain the following elements:
levelThe compression level in range -1..9; defaults to -1.
memoryThe compression memory level in range 1..9; defaults to 8.
windowThe zlib window size (logarithmic) in range
8..15; defaults to15. zlib changes a window size of8to9, and as of zlib 1.2.8 fails with a warning, if a window size of8is requested forZLIB_ENCODING_RAWorZLIB_ENCODING_GZIP.strategyOne of
ZLIB_FILTERED,ZLIB_HUFFMAN_ONLY,ZLIB_RLE,ZLIB_FIXEDorZLIB_DEFAULT_STRATEGY(the default).dictionaryA
stringor anarrayofstringsof the preset dictionary (default: no preset dictionary).
Return Values
Returns a deflate context resource (zlib.deflate) on success, Falseforfailure.
Errors/Exceptions
If an invalid option is passed to options or the context couldn't be created, an error of level E_WARNING is generated.
Changelog
| Version | Description |
|---|---|
| 8.0.0 | On success, this function returns a DeflateContext instance now; previously, a resource was returned. |