Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - psebas

#1
PHP / mostrar imagen y despues borrarla
16 Abril 2010, 21:28 PM
Hola buenas tardes a todos.
Alguno sabe como podria mostrar una imagen que descomprimo en gzip.
Con este codigo parece que borra la imagen jpg descomprimida antes de que interprete el html
Código (php) [Seleccionar]
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Descomprimiendo fichero gz</title>
</head>
<body>
<?
# Creamos una variable "vacia"
$cadena="";
# Abrimos el fichero en modo lectura (r)
$f1=fopen("..\cursophp\images\aviones4.jpg","r");
/* hacemos un bucle para leer el fichero
 hasta encontrar el final (feof) y vamos recogiendo
 el contenido en la variable */
while (!feof($f1)) {
   $cadena .= fgets($f1, 1024);
 }
/*comprimimos la cadena con gzencode
 con lo cual la propia función añade los "encabezados"
 de formato gzip*/
$c1=gzencode($cadena,3,FORCE_GZIP);
/* abrimos un nuevo fichero modo escritura (w)
con "fopen", es decir como un fichero normal con extensión GZ */
$f=fopen("aviones4.jpg.gz","w");
/* escribimos la cadena "tal cual"
 en este fichero */
 fwrite($f,$c1);
# cerramos el fichero comprimido
 fclose($f);
 #echo "La compresión ha terminado";
?>
<?
$nombrefichero="aviones4.jpg";
# activamos el buffer en vez de la salida estandard
ob_start();
# Abrimos el fichero con "gzopen" ya que se trata de un fichero comprimido
$f1=gzopen($nombrefichero.".gz","r");
# sacamos el contenido (descomprimimos) al buffer
gzpassthru($f1);
# ponemos el contenido en la variable $cadena
$cadena = ob_get_contents();
# limpiamos el buffer
ob_end_clean();
# abrimos en modo escritura el fichero para escribir el contenido descomprimido anteriormente
$f1=fopen($nombrefichero,"w");
# escrimos en el fichero el contenido descomprimido anteriormente
fwrite($f1,$cadena);
# cerramos el fichero
fclose($f1);
# mostramos el fichero descomprimido como imagen (pero el html no llega a encontrar el fichero, pues parece que el php le borra antes)
echo '<img src="'.$nombrefichero.'"><br>';
?>

</body>
</html>
<?
# borro el fichero,
unlink($nombrefichero);
?>


Gracias y Salu2.