deflate_add

(PHP 7, PHP 8)

deflate_addComprime datos de manera incremental

Descripción

deflate_add(DeflateContext $context, string $data, int $flush_mode = ZLIB_SYNC_FLUSH): string|false

Comprime de manera incremental los datos en el contexto especificado.

Parámetros

context

Un contexto creado con deflate_init().

data

Un fragmento de datos a comprimir.

flush_mode

Una de las ZLIB_BLOCK, ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (por defecto), ZLIB_FULL_FLUSH, ZLIB_FINISH. Normalmente, querrá establecer ZLIB_NO_FLUSH para maximizar la compresión, y ZLIB_FINISH para terminar con el último fragmento de datos. Consulte el » manual de zlib para una descripción detallada de estas constantes.

Valores devueltos

Devuelve un fragmento de datos comprimidos, o false en caso de error.

Errores/Excepciones

Si se proporciona un argumento inválido, se genera un error de nivel E_WARNING.

Historial de cambios

Versión Descripción
8.0.0 context ahora espera una instancia de DeflateContext; anteriormente se esperaba un recurso.

Ver también

add a note

User Contributed Notes 1 note

up
1
douglasjam at gmail dot com
6 years ago
Example about to use deflate functions to write a gzip encoded file in chunks.

<?php

$handler
= fopen('/tmp/test.csv', 'w');
$deflateContext = deflate_init(ZLIB_ENCODING_GZIP, ['level' => 9]);

$strings = [
'Hello, how are you?' . PHP_EOL,
'I am fine thanks' . PHP_EOL,
'Hello, how are you?' . PHP_EOL,
];

foreach (
$strings as $string) {
fwrite($handler, deflate_add($deflateContext, $string, ZLIB_NO_FLUSH));
}

fwrite($handler, deflate_add($deflateContext, '', ZLIB_FINISH));
fclose($handler);

echo
gzdecode(file_get_contents('/tmp/test.csv'));
To Top