CXIII. Funciones de Compresión

Este módulo usa la función de zlib de Jean-loup Gailly y Mark Adler para leer y grabar archivos comprimidos .gz, de un modo transparente. Con este módulo, es requisito usar una versión de zlib igual o posterior a 1.0.9.

Este módulo contiene versiones de la mayoría de las funciones de Sistema de archivos que funcionan con los archivos comprimidos con gzip (y con los no-comprimidos tambien, pero no con conectores (sockets)).

Pequeño código de ejemlo

Abre un archivo temporal y escribe en él, una cadena de prueba, y luego presenta el cotenido del archivo dos veces

Ejemplo 1. Ejemplo de Zlib

<?php
  $filename = tempnam('/tmp', 'zlibtest').'.gz';
  print "<html>\n<head></head>\n<body>\n<pre>\n";
  $s = "Sólo es una prueba, prueba, prueba,prueba, prueba, prueba!\n";
  // Abre el archivo para escribirlo con máximo de compresión
  $zp = gzopen($filename, "w9");
  // Escribe la cadena en él
  gzwrite($zp, $s);
  // Cierra el fichero
  gzclose($zp);
  // Abre el fichero para lectura
  $zp = gzopen($filename, "r");
  // Lee 3 caracteres
  print gzread($zp, 3);
  // Salida hasta el final del fichero, para cerrarlo luego.
  gzpassthru($zp);
  print "\n";
  // Abre el fichero y muestra su contenido (por segunda vez).
  if (readgzfile($filename) != strlen($s)) {
          echo "Error con las funciones zlib!";
  }
  unlink($filename);
  print "<pre>\n</h1></body>\n</html>\n";
?>
Tabla de contenidos
gzclose -- cierra un puntero a archivo-gz abierto
gzcompress -- Compress a string
gzdeflate -- Deflate a string
gzencode -- Create a gzip compressed string
gzeof -- prueba el fin-de-archivo de un puntero de archivo-gz
gzfile -- lee el archivo gz completo en un arreglo
gzgetc -- toma caracteres de un archivo-gz
gzgets -- toma una linea del archivo apuntado
gzgetss -- toma una linea del archivo-gz apuntado y le quita los tags HTML
gzinflate -- Inflate a deflated string
gzopen -- open gz-file
gzpassthru -- Devuelve el remanente de datos de un fichero-gz
gzputs -- escribe al fichero-gz que se apunta
gzread -- Lee archivos-gz en modo Binario
gzrewind -- Reposiciona al puntero de archivo-gz, al inicio de aquel
gzseek -- Posiciona el puntero del archivo-gz
gztell -- Indica la posición de lecto-escritura en el archivo
gzuncompress -- Uncompress a deflated string
gzwrite -- Escritura de ficheros gz en modo Binario
readgzfile -- devuelve el fichero-gz