deflate_init
(PHP 7, PHP 8)
deflate_init — Inicializa um contexto de compressão incremental
Descrição
Inicializa um contexto de compressão incremental usando o
encoding
especificado.
Note que a opção window
aqui apenas define o tamanho da janela
do algoritmo, de forma diferente dos filtros zlib onde o mesmo parâmetro
também define a codificação a ser usada; a codificação deve ser definida com o
parâmetro encoding
.
Limitação: atualmente não há maneira de definir as informações de cabeçalho em um fluxo comprimido GZIP,
que são definidas da seguinte forma: assinatura GZIP
(\x1f\x8B
); método de compressão (\x08
== DEFLATE); 6 bytes zero; o sistema operacional definido para o sistema atual
(\x00
= Windows, \x03
= Unix, etc.)
Parâmetros
encoding
-
Uma das constantes
ZLIB_ENCODING_*
. options
-
Um array associativo que pode conter os seguintes elementos:
- level
-
O nível de compressão no intervalo -1..9; padrão é -1.
- memory
-
O nível de memória de compressão no intervalo 1..9; padrão é 8.
- window
-
O tamanho da janela zlib (logarítmico) no intervalo
8
..15
; padrão é15
. zlib muda um tamanho de janela de8
para9
, e a partir do zlib 1.2.8 falha com um aviso, se um tamanho de janela de8
for solicitado paraZLIB_ENCODING_RAW
ouZLIB_ENCODING_GZIP
. - strategy
-
Uma das constantes
ZLIB_FILTERED
,ZLIB_HUFFMAN_ONLY
,ZLIB_RLE
,ZLIB_FIXED
ouZLIB_DEFAULT_STRATEGY
(o padrão). - dictionary
-
Uma string ou um array de strings do dicionário predefinido (padrão: nenhum dicionário predefinido).
Valor Retornado
Retorna um recurso de contexto de compressão (zlib.deflate
) em
caso de sucesso, ou false
em caso de falha.
Erros/Exceções
Se uma opção inválida for passada para options
ou o
contexto não puder ser criado, um erro de nível E_WARNING
é gerado.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 | Em caso de sucesso, esta função retorna agora uma instância de DeflateContext; anteriormente, um resource era retornado. |
Veja Também
- deflate_add() - Comprime dados incrementalmente
- inflate_init() - Inicializa um contexto de descompressão incremental