deflate_init
Initialize an incremental deflate context
Description
DeflateContextfalse deflate_init(int $encoding
, array $options
= [])
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 to 15
.
zlib changes a window size of 8
to 9
,
and as of zlib 1.2.8 fails with a warning, if a window size of 8
is requested for ZLIB_ENCODING_RAW
or ZLIB_ENCODING_GZIP
.
-
strategy
-
One of ZLIB_FILTERED
,
ZLIB_HUFFMAN_ONLY
, ZLIB_RLE
,
ZLIB_FIXED
or
ZLIB_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.