It may be difficult to understand the differences between "gzcompress", "gzdeflate" and "gzencode". Here are my notes:
gzcompress()
------------
Uses ZLIB_ENCODING_DEFLATE (https://www.php.net/manual/en/zlib.constants.php#constant.zlib-encoding-deflate)
ZLIB compression algorithm as per RFC 1950.
Compatible with pigz. (Not compatible with gzip.)
Has a header (compression details, begins with 0x78) and a footer (Adler32 checksum of uncompressed data in big-endian).
gzdeflate()
------------
Uses ZLIB_ENCODING_RAW (https://www.php.net/manual/en/zlib.constants.php#constant.zlib-encoding-raw)
DEFLATE algorithm as per RFC 1951.
No header and footer. Pure DEFLATE.
gzencode()
------------
Uses ZLIB_ENCODING_GZIP (https://www.php.net/manual/en/zlib.constants.php#constant.zlib-encoding-gzip)
GZIP algorithm as per RFC 1952.
Compatible with gzip.
Header begins with magic number 0x1f8b, then compression method 8 (DEFLATE), no file flags, no timestamp, with operating system ID.
Footer contains CRC32 checksum of uncompressed data and then size of uncompressed data, both in little-endian.gzencode
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
gzencode
Референца за `function.gzencode.php` со подобрена типографија и навигација.
gzencode
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
gzencode — Креирај gzip компресирана низа
= NULL
Оваа функција враќа компресирана верзија на влезот
data компатибилен со излезот на
gzip program.
За повеќе информации за GZIP формат на датотека, видете го документот: » GZIP спецификација за формат на датотека верзија 4.3 (RFC 1952).
Параметри
data-
Податоци за кодирање.
level-
Нивото на компресија. Може да се даде како 0 за без компресија до 9 за максимална компресија. Ако не е дадено, стандардното ниво на компресија ќе биде стандардното ниво на компресија на zlib библиотеката.
encoding-
Режимот на кодирање. Може да биде
FORCE_GZIP(стандардно) илиFORCE_DEFLATE.FORCE_DEFLATEгенерира излез усогласен со RFC 1950, кој се состои од zlib заглавје, дефлатирани податоци и Adler контролен збир.
Вратени вредности
Кодирана низа, или false аргумент, или
Примери
Резултирачките податоци ги содржат соодветните заглавја и структура на податоци за да се направи стандардна .gz датотека, на пр.:
Пример #1 Креирање на gzip датотека
<?php
$data = file_get_contents("bigfile.txt");
$gzdata = gzencode($data, 9);
file_put_contents("bigfile.txt.gz", $gzdata);
?>Види Исто така
- gzdecode() - Декодира gzip компресирана низа
- gzdeflate() - Дефлатирај низа
- gzinflate() - Надувај дефлатирана низа
- gzuncompress() - Декомпресирај компресиран стринг
- gzcompress() - Компресирај низа
- » ZLIB спецификација за формат на компресирани податоци (RFC 1950)