deflate_init
(PHP 7, PHP 8)
deflate_init — 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
-
encoding
-
One of the
ZLIB_ENCODING_*
constants. -
options
-
An associative array which may contain the following elements:
- level
-
The compression level in range -1..9; defaults to -1.
- memory
-
The compression memory level in range 1..9; defaults to 8.
- window
-
The zlib window size (logarithmic) in range
8
..15
; defaults to15
. zlib changes a window size of8
to9
, and as of zlib 1.2.8 fails with a warning, if a window size of8
is requested forZLIB_ENCODING_RAW
orZLIB_ENCODING_GZIP
. - strategy
-
One of
ZLIB_FILTERED
,ZLIB_HUFFMAN_ONLY
,ZLIB_RLE
,ZLIB_FIXED
orZLIB_DEFAULT_STRATEGY
(the default). - dictionary
-
A string or an array of strings of the preset dictionary (default: no preset dictionary).
Return Values
Returns a deflate context resource (zlib.deflate
) on
success, or false
on failure.
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. |
See Also
- deflate_add() - Incrementally deflate data
- inflate_init() - Initialize an incremental inflate context