deflate_init
(PHP 7)
deflate_init — Initialize an incremental deflate context
Description
deflate_init ( int $encoding [, array $options = [] ] ) : DeflateContext|false
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
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.deflate-init.php