LXXIX. Zlib Compression Functions
This module uses the functions of zlib by Jean-loup Gailly and Mark Adler to transparently read and write gzip (.gz) compressed files. You have to use a zlib version >= 1.0.9 with this module.
This module contains versions of most of the filesystem functions which work with gzip-compressed files (and uncompressed files, too, but not with sockets).
Note: The current CVS version 4.0.4-dev introduces 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().
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.
Opens a temporary file and writes a test string to it, then it prints out the content of this file twice.
Example 1. Small Zlib Example
<?php $filename = tempnam ('/tmp', 'zlibtest').'.gz'; print "<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 print gzread($zp, 3); // output until end of the file and close it. gzpassthru($zp); print "\n"; // open file and print content (the 2nd time). if (readgzfile($filename) != strlen($s)) { echo "Error with zlib functions!"; } unlink($filename); print "</pre>\n</h1></body>\n</html>\n"; ?> |
|
- Table of Contents
- gzclose — Close an open gz-file pointer
- gzeof — Test for end-of-file on a gz-file pointer
- gzfile — Read entire gz-file into an array
- gzgetc — Get character from gz-file pointer
- gzgets — Get line from file pointer
- gzgetss — Get line from gz-file pointer and strip HTML tags
- gzopen — Open gz-file
- gzpassthru — Output all remaining data on a gz-file pointer
- gzputs — Write to a gz-file pointer
- gzread — Binary-safe gz-file read
- gzrewind — Rewind the position of a gz-file pointer
- gzseek — Seek on a gz-file pointer
- gztell — Tell gz-file pointer read/write position
- gzwrite — Binary-safe gz-file write
- readgzfile — Output a gz-file
- gzcompress — Gz-compress a string
- gzuncompress — Uncompress a gz-compressed string