Foros del Web » Programando para Internet » PHP »

header ("Content-type: image/png")

Estas en el tema de header ("Content-type: image/png") en el foro de PHP en Foros del Web. Hola, Estoy mostrando diferentes tipos de imagenes utilizando header ("Content-type: image/png"); $file = "mi_imagen.png"; $img = file_get_contents ($file); echo $img; ... //y su equivalencia para ...
  #1 (permalink)  
Antiguo 10/11/2008, 21:33
 
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
header ("Content-type: image/png")

Hola,
Estoy mostrando diferentes tipos de imagenes utilizando

header ("Content-type: image/png");
$file = "mi_imagen.png";
$img = file_get_contents ($file);
echo $img;
...
//y su equivalencia para jpg y gif //

header ("Content-type: image/jpeg");
...
header ("Content-type: image/gif");
...

Bastantes veces me falla el mostrar imagenes png. Se ve como se carga, y cuando esta toda la imagen visualizada desaparece, sale una cruz conforme no hay contendio , si hago un refresh o 'mostrar imagen' desde el segundo boton raton a veces consigo recuperarla.
Curisosamente con los jpg no tengo problemas.

Alguna idea?
gracias

Daniel
  #2 (permalink)  
Antiguo 10/11/2008, 21:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: header ("Content-type: image/png")

Hola barbarisa,

Revisa que no estes enviando nada de contenido despues del stream de la imagen, eso puede causar que el archivo quede corrupto.

Saludos.
  #3 (permalink)  
Antiguo 10/11/2008, 21:48
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: header ("Content-type: image/png")

De preferencia usa die($img); en vez de echo $img;. Eso hará que la ejeución del script termine en ese punto, lo cual sería lo más adecuado.

  #4 (permalink)  
Antiguo 10/11/2008, 22:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: header ("Content-type: image/png")

He probado die($img); me sigue fallando a veces, con la diferencia que ahora no se ve como se carga, entra directamente KO.

Saludos
  #5 (permalink)  
Antiguo 10/11/2008, 22:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: header ("Content-type: image/png")

Mmmm checa cuanta memoria tienes asignada es probable que necesites aumentar el limite de memoria.

Saludos.
  #6 (permalink)  
Antiguo 11/11/2008, 07:21
 
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: header ("Content-type: image/png")

Estoy pez en el tema, donde chequeo la memoria?

Lo que no entiendo es porque con los jpg, que son de mayor tamaño no hay problemas.

Saludos
  #7 (permalink)  
Antiguo 11/11/2008, 10:01
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: header ("Content-type: image/png")

Si si usas la función imagepng()?

  #8 (permalink)  
Antiguo 11/11/2008, 22:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: header ("Content-type: image/png")

Hola, probe con imagepng() y no hubo suerte.

Cuando trabajo en local (Mi PC) no me falla, si desde internet (servidor)

Saludos
  #9 (permalink)  
Antiguo 11/11/2008, 23:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: header ("Content-type: image/png")

Mmm puede ser una diferencia en versiones de GD/PHP, verifica eso.

Saludos.
  #10 (permalink)  
Antiguo 14/11/2008, 14:26
 
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: header ("Content-type: image/png")

Hola,
Parece ser que el error no era estaba en el PNG sino en la estructura que no se porque provocaba que algo se colara , a pesar de probar die ($img).


Antes (Fallaba):
if ( tipo imagen) { header (...); }
if (codidiciones) { $img = 'mi_imagen'; echo ($img); }

Ahora OK
if (condiciones) {$img='mi_imagen'}
if ( tipo de imagen) { header (...); echo($img) }


Gracias a todos

Dani
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.