Artículo
|
Comprimir y descomprimir archivos con PHP utilizando Zlib |
Zlib es una librería que nos proporciona funciones para poder comprimir y descomprimir utilizando el formato GZIP. Vamos a ver algunos ejemplos de su funcionamiento de esta librería.
En el ejemplo presentamos dos funciones, una para descomprimir el archivo, y otra para comprimirlo.
En la función descomprimir, lo que hemos realizado ha sido abrir el archivo comprimido con la función gzfile y aplicarle un implode para obtener todas las líneas. Luego lo que se hace es crear un fichero donde se meterá el contenido del fichero comprimido.
Para la función comprimir, lo que se hace es leer el fichero que queremos comprimir, y crearnos un fichero comprimido donde iremos escribiendo el contenido mediante la función gzwrite, similar a como trabaja la escritura de ficheros normal de PHP.
Algunas funciones de la librería son:
function descomprimir($origen, $destino) {
$string = implode("", gzfile($origen));
$fp = fopen($destino, "w");
fwrite($fp, $string, strlen($string));
fclose($fp);
}
function comprimir($origen, $destino) {
$fp = fopen($origen, "r");
$data = fread ($fp, filesize($origen));
fclose($fp);
$zp = gzopen($destino, "w9");
gzwrite($zp, $data);
gzclose($zp);
}
En el ejemplo presentamos dos funciones, una para descomprimir el archivo, y otra para comprimirlo.
En la función descomprimir, lo que hemos realizado ha sido abrir el archivo comprimido con la función gzfile y aplicarle un implode para obtener todas las líneas. Luego lo que se hace es crear un fichero donde se meterá el contenido del fichero comprimido.
Para la función comprimir, lo que se hace es leer el fichero que queremos comprimir, y crearnos un fichero comprimido donde iremos escribiendo el contenido mediante la función gzwrite, similar a como trabaja la escritura de ficheros normal de PHP.
Algunas funciones de la librería son:
- gzclose — Cierra un puntero gz-file
- gzcompress — Comprime una cadena de texto
- gzencode — Crea una cadena de texto comprimida en gzip
- gzeof — Verifica si es el fin del archivo en un puntero gz-file
- gzfile — Lee el contenido de un archivo gzip y lo almacena en un arreglo
- gzgetc — Obtiene el caracter al que apunta un gz-file pointer
- gzgets — Obtiene la linea a la que apunta un gz-file pointer
- gzgetss — Obtiene la linea a la que apunta un gz-file pointer y remueve las etiquetas HTML
- gzinflate — Descomprime una cadena comprimida
- gzopen — Abre un archivo gzip
![]() |
Publicado por: angel carrero |
|
|
Comentarios
Últimas noticias
Últimos artículos














































