gzencode

Create a gzip compressed string

&reftitle.description; `string` `gzencode` `string` `data` `int` `level`-1 `int` `encoding_mode` FORCE_GZIP

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).

&reftitle.parameters;

`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_mode`

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

  Prior to PHP 5.4.0, using `FORCE_DEFLATE` results in a standard zlib deflated string (inclusive zlib headers) after a gzip file header but without the trailing crc32 checksum.

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

&reftitle.returnvalues;

The encoded string, or &false; if an error occurred.

&reftitle.changelog;

&Version; | &Description;
5.4.0 | `FORCE_DEFLATE` now generates RFC 1950 compliant output.
4.2.0 | The `encoding_mode` parameter was added

&reftitle.examples;

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

### Creating a gzip file

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

&reftitle.seealso;

- `gzdecode`
- `gzdeflate`
- `gzinflate`
- `gzuncompress`
- `gzcompress`
- ZLIB Compressed Data Format Specification (RFC 1950)