deflate_add

(PHP 7, PHP 8)

deflate_addCompresse des données de manière incrémentielle

Description

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

Compresse de manière incrémentielle des données dans le contexte spécifié.

Liste de paramètres

context

Un contexte créé avec deflate_init().

data

Un morceau de données à compresser.

flush_mode

Une des ZLIB_BLOCK, ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (par défaut), ZLIB_FULL_FLUSH, ZLIB_FINISH. Normalement, vous voudrez définir ZLIB_NO_FLUSH pour maximiser la compression, et ZLIB_FINISH pour terminer avec le dernier morceau de données. Consultez le » manuel de zlib pour une description détaillée de ces constantes.

Valeurs de retour

Renvoie un morceau de données compressées, ou false si une erreur survient.

Erreurs / Exceptions

Si un argument invalide est donné, une erreur de niveau E_WARNING est générée.

Historique

Version Description
8.0.0 context attend désormais une instance de DeflateContext avant, une ressource était attendue.

Voir aussi

  • deflate_init() - Initialise un contexte de compressage incrémentiel
add a note

User Contributed Notes 1 note

up
1
douglasjam at gmail dot com
7 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