PHP kézikönyv
Előző |  | Következő

# CLXXX. Zlib Compression Functions

# Bevezetés

This module enables you to transparently read and write gzip (.gz) compressed files, through versions of most of the filesystem functions which work with gzip-compressed files (and uncompressed files, too, but not with sockets).

> Megjegyzés: Version 4.0.4 introduced a fopen-wrapper for .gz-files, so that you can use a special `zlib:` URL to access compressed files transparently using the normal f*() file access functions if you prefix the filename or path with `zlib:` when calling fopen(). This feature requires a C runtime library that provides the fopencookie() function. Up to now the GNU libc seems to be the only library that provides this feature.

> In PHP 4.3.0, `zlib:` has been changed to `compress.zlib://` to prevent ambiguities with filenames containing ':' characters. The fopencookie() function is not longer required. More information is available in the section about Compression Streams M Függelék.

# Követelmények

This module uses the functions of zlib by Jean-loup Gailly and Mark Adler. You have to use a zlib version >= 1.0.9 with this module.

# Telepítés

Zlib support in PHP is not enabled by default. You will need to configure PHP --with-zlib[=DIR]

A PHP Windows-os változata beépített támogatással rendelkezik eme kiterjesztéshez. Nincs szükség semmilyen kiterjesztés betöltésére, hogy az itt felsorolt függvényeket használhasd.

> Megjegyzés: Builtin support for zlib on Windows is available with PHP 4.3.0.

# Futásidejű beállítások

Az alábbi függvények viselkedése befolyásolható a `php.ini` segítségével.

The zlib extension offers the option to transparently compress your pages on-the-fly, if the requesting browser supports this. Therefore there are three options in the configuration file `php.ini`.

Táblázat 1. Zlib Configuration Options

Name | Default | Changeable | Changelog
--- | --- | --- | ---
zlib.output_compression | "0" | PHP_INI_ALL | Available since PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Available since PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Available since PHP 4.3.0.

További részletekért és a PHP_INI_* konstansok definícióiért lásd: G Függelék.

A témába vágó konfigurációs direktívák rövid leírása

zlib.output_compression boolean/integer

  Whether to transparently compress pages. If this option is set to "On" in `php.ini` or the Apache configuration, pages are compressed if the browser sends an "Accept-Encoding: gzip" or "deflate" header. "Content-Encoding: gzip" (respectively "deflate") and "Vary: Accept-Encoding" headers are added to the output. In runtime, it can be set only before sending any output.

  This option also accepts integer values instead of boolean "On"/"Off", using this you can set the output buffer size (default is 4KB).

  > Megjegyzés: output_handler must be empty if this is set 'On' ! Instead you must use zlib.output_handler.

zlib.output_compression_level integer

  Compression level used for transparent output compression.

zlib.output_handler string

  You cannot specify additional output handlers if zlib.output_compression is activated here. This setting does the same as output_handler but in a different order.

# Erőforrás típusok

Ez a kiterjesztés semmilyen erőforrás típust nem definiál.

# Előre definiált állandók

Az itt listázott állandókat ez a kiterjesztés definiálja, és csak akkor elérhetőek, ha az adott kiterjesztés be van fordítva a PHP-be, vagy dinamikusan betöltött.

`FORCE_GZIP` (integer)

`FORCE_DEFLATE` (integer)

# Példák

This example opens a temporary file and writes a test string to it, then it prints out the content of this file twice.

Példa 1. Small Zlib Example

`<?php
$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";
// open file for writing with maximum compression
$zp = gzopen($filename, "w9");
// write string to file
gzwrite($zp, $s);
// close file
gzclose($zp);
// open file for reading
$zp = gzopen($filename, "r");
// read 3 char
echo gzread($zp, 3);
// output until end of the file and close it.
gzpassthru($zp);
gzclose($zp);
echo "\n";
// open file and print content (the 2nd time).
if (readgzfile($filename) != strlen($s)) {
echo "Error with zlib functions!";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";
?>`

Előző | Tartalom | Következő
ZipArchive::unchangeName | Fel | gzclose