Statement on glibc/iconv Vulnerability

gzencode

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gzencodeCrea una stringa compressa con gzip

Descrizione

gzencode(string $data, int $level = -1, int $encoding_mode = FORCE_GZIP): string

Questa funzione restituisce una versione compressa di data compatibile con l'output del programma gzip.

Per ulteriori informazioni sul formato dei file GZIP, consultare il documento: » Specifica del formato di file GZIP versione 4.3 (RFC 1952).

Elenco dei parametri

data

I dati da codificare.

level

Il livello di compressione. Può essere dato come 0 per nessuna compressione fino a 9 per la massima compressione. Se non viene fornito, il livello di compressione predefinito adottato sarà quello di default della libreria zlib.

encoding_mode

La modalità di codifica. Può essere FORCE_GZIP (il default) o FORCE_DEFLATE.

Prima di PHP 5.4.0, se si utilizza FORCE_DEFLATE, si ottiene una stringa compressa col DEFLATE standard di zlib (comprendente gli header zlib) dopo un header del file gzip ma senza il checksum crc32 finale.

In PHP 5.4.0 e versioni successive, FORCE_DEFLATE genera un output conforme a RFC 1950, costituito da un header zlib, i dati compressi col DEFLATE e un checksum Adler.

Valori restituiti

La stringa codificata o false se si è verificato un errore.

Esempi

I dati risultanti contengono gli header e la struttura dati appropriati per creare un file .gz standard, ad esempio:

Example #1 Creare un file gzip

<?php
$data
= implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>

Vedere anche:

add a note

User Contributed Notes 1 note

up
12
Sam Dowling
12 years ago
this is a benchmark test of gzencode (.txt file)
----------------------------------------------
original file size = 3.29 MB (3,459,978 bytes)
compress lvl 1 = 1.09 MB (1,144,006 bytes)
compress lvl 2 = 1.06 MB (1,119,518 bytes)
compress lvl 3 = 1.03 MB (1,085,567 bytes)
compress lvl 4 = 953 KB (976,538 bytes)
compress lvl 5 = 909 KB (931,486 bytes)
compress lvl 6 = 910 KB (932,516 bytes)
compress lvl 7 = 910 KB (932,608 bytes)
compress lvl 8 = 910 KB (932,646 bytes)
compress lvl 9 = 910 KB (932,652 bytes)
----------------------------------------------
To Top