CascadiaPHP 2024

gzencode

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

gzencodeCreate a gzip compressed string

说明

gzencode(string $data, int $level = -1, int $encoding = ZLIB_ENCODING_GZIP): string|false

This function returns a compressed version of the input data compatible with the output of the gzip program.

For more information on the GZIP file format, see the document: » GZIP file format specification version 4.3 (RFC 1952).

参数

data

The data to encode.

level

The level of compression. Can be given as 0 for no compression up to 9 for maximum compression. If not given, the default compression level will be the default compression level of the zlib library.

encoding

The encoding mode. Can be FORCE_GZIP (the default) or FORCE_DEFLATE.

FORCE_DEFLATE generates RFC 1950 compliant output, consisting of a zlib header, the deflated data, and an Adler checksum.

返回值

The encoded string, or false if an error occurred.

示例

The resulting data contains the appropriate headers and data structure to make a standard .gz file, e.g.:

示例 #1 Creating a gzip file

<?php
$data
= file_get_contents("bigfile.txt");
$gzdata = gzencode($data, 9);
file_put_contents("bigfile.txt.gz", $gzdata);
?>

参见

add a note

User Contributed Notes 1 note

up
13
Sam Dowling
13 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