# gzencode

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

gzencode — Create a gzip compressed string

### Description

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

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

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

### Return Values

The encoded string, or `FALSE` if an error occurred.

### Changelog

Version | Description
--- | ---
5.4.0 | `FORCE_DEFLATE` now generates RFC 1950 compliant output.

### Examples

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

Example #1 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);
?>`

### See Also

- gzdecode() - Decodes a gzip compressed string
- gzdeflate() - Deflate a string
- gzinflate() - Inflate a deflated string
- gzuncompress() - Uncompress a compressed string
- gzcompress() - Compress a string
- » ZLIB Compressed Data Format Specification (RFC 1950)