Este módulo le permite leer y escribir de forma transparente sobre archivos gzip (.gz) comprimidos, a través de algunas versiones de la mayoría de funciones del sistema de archivos que trabajen con archivos comprimidos-gzip (y archivos sin comprimir también, pero no con sockets).
Nota: La versión 4.0.4 introdujo una envoltura fopen para archivos-.gz, de modo que puede usar una URL especial 'zlib:' para acceder a archivos comprimidos de forma transparente usando las funciones de acceso normales f*() si precede el nombre o ruta de archivo con un prefijo 'zlib:' al llamar a fopen().
En la versión 4.3.0, este prefijo especial ha cambiado a 'zlib://' para prevenir ambigüedades con nombres de archivo que contengan ':'.
Esta característica requiere una librería C de tiempo de ejecución que provee la función fopencookie(). Hasta donde se conoce, la librería de C GNU es la única que ofrece esta característica.
Este módulo usa las funciones de zlib, por Jean-loup Gailly y Mark Adler. Debe usar una versión de zlib >= 1.0.9 con éste módulo.
Zlib support in PHP is not enabled by default. You will need to configure PHP --with-zlib[=DIR]
La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.
Nota: Builtin support for zlib on Windows is available with PHP 4.3.0.
El comportamiento de estas funciones está afectado por los valores definidos en 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.
Tabla 1. Zlib Configuration Options
Name | Default | Changeable |
---|---|---|
zlib.output_compression | "Off" | PHP_INI_ALL |
zlib.output_compression_level | "-1" | PHP_INI_ALL |
zlib.output_handler | "" | PHP_INI_ALL |
A continuación se presenta una corta explicación de las directivas de configuración.
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).
Nota: 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.
Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.
Este ejemplo abre un archivo temporal y escribe una cadena de prueba en él, luego imprime el contenido de este archivo dos veces.