VII. 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).

Small code example

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

  2 <?php
  3   $filename = tempnam('/tmp', 'zlibtest').'.gz';
  4   print "<html>\n<head></head>\n<body>\n<pre>\n";
  5   $s = "Only a test, test, test, test, test, test, test, test!\n";
  6   // open file for writing with maximum compression
  7   $zp = gzopen($filename, "w9");
  8   // write string to file
  9   gzwrite($zp, $s);
 10   // close file
 11   gzclose($zp);
 12   // open file for reading
 13   $zp = gzopen($filename, "r");
 14   // read 3 char
 15   print gzread($zp, 3);
 16   // output until end of the file and close it.
 17   gzpassthru($zp);
 18   print "\n";
 19   // open file and print content (the 2nd time).
 20   if (readgzfile($filename) != strlen($s)) {
 21           echo "Error with zlib functions!";
 22   }
 23   unlink($filename);
 24   print "<pre>\n</h1></body>\n</html>\n";
 25 ?>
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