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).
注: 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 prepend the filename or path with a 'zlib:' prefix when calling fopen().
In version 4.3.0, this special prefix has been changed to 'zlib://' to prevent ambiguities with filenames containing ':'.
This feature requires a C runtime library that provides the fopencookie() function. To my current knowledge the GNU libc is the only library that provides this feature.
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.
Zlib support in PHP is not enabled by default. You
will need to configure PHP
--with-zlib[=DIR]
The windows version of PHP
has built in support for this extension. You do not
need to load any additional extension in order to use
these functions.
注: Builtin support for zlib is available with PHP 4.3.0.
php.ini中的設定會影響這些函數的行為。
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.
表格 1. Zlib Configuration Options
Here is a short explanation of the configuration
directives.
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.
You can use
ini_set() to disable
this in your script if the headers aren't already
sent. If you output a "Content-Type: image/"
header the compression is disabled, too (in order
to circumvent a Netscape bug). You can reenable
it, if you add
"ini_set('zlib.output_compression', 'On')" after
the header call which added the image
content-type.
This option also accepts integer values
instead of boolean "On"/"Off", using this you can
set the output buffer size (default is 4KB).
注: output_handler must be empty if this is set 'On' ! Instead you must use zlib.output_handler.
Compression level used for transparent
output compression.
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.
This example opens a temporary file and writes a
test string to it, then it prints out the content of
this file twice.