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