Dieses Modul gibt Ihnen die Möglichkeit, transparent gzip (.gz) - komprimierte Dateien zu lesen und zu schreiben. Hierfür bietet diese Erweiterung die Versionen der meisten Dateisystem-Funktionen, die mit gzip-komprimierten (und unkomprimierten) Dateien, jedoch nicht mit Sockets funktionieren.
Anmerkung: Mit Version 4.0.4 wurde ein fopen-wrapper für .gz-Dateien eingeführt, so dass Sie die spezielle zlib:-URL verwenden können, um auf komprimierte Dateien transparent über die f*()-Dateifunktionen zuzugreifen. Beim Aufruf von fopen() müssen Sie dazu lediglich vor dem Dateinamen das Präfix zlib: schreiben. Diese Möglichkeit erfordert eine C-Laufzeitbibliothek, die die fopencookie()-Funktion bereitstellt. Nach aktuellem Stand scheint die GNU libc die einzige Bibliothek zu sein, die dieses Feature bereitstellt.
In PHP 4.3.0 wurde zlib: in compress.zlib:// geändert, um Konflikte mit Dateinamen zu vermeiden die ':' Zeichen enthalten. Die fopencookie() Funktion wird nicht mehr benötigt. Mehr Information hierzu finden Sie im Abschnitt über Abschnitt namens Compression Streams in Anhang M.
Diese Erweiterung nutzt die Funktionen der zlib-Bibliothek von Jean-loup Gailly und Mark Adler. Sie benötigen zlib >= 1.0.9, um die Funktionen nutzen zu können.
Die Unterstützung für Zlib ist in PHP nicht standardmäßig aktiviert. Es ist erforderlich, die Option --with-zlib[=DIR] beim Kompilieren von PHP anzugeben.
Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.
Anmerkung: Die integrierte Unterstützung für zlib in der Windowsversion steht ab PHP 4.3.0 zur Verfügung.
Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.
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.
Tabelle 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. |
Hier eine kurze Erklärung der Konfigurationsoptionen:
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).
Anmerkung: 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.
Diese Erweiterung definiert keine Resource-Typen.
Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.
Dieses Beispiel öffnet eine temporäre Datei und schreibt einen Test String in die Datei, dann wird der Inhalt dieser Datei zweimal ausgegeben.
Zurück | Zum Anfang | Weiter |
zip_read | Nach oben | gzclose |