XCIII. 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 -- Compress a string
- gzuncompress -- Uncompress a deflated string
- gzdeflate -- Deflate a string
- gzinflate -- Inflate a deflated string
- gzencode -- Create a gzip compressed string