Foros del Web » Programando para Internet » PHP »

Incertidumbre con header("content-type: image/jpeg")

Estas en el tema de Incertidumbre con header("content-type: image/jpeg") en el foro de PHP en Foros del Web. Hola, el hasta ahora inalcanzado objetivo, que me trajo a pedir ayuda es, en un mismo script, mostrar un par de thumbnails que genero pero ...
  #1 (permalink)  
Antiguo 21/06/2006, 00:39
xav
 
Fecha de Ingreso: enero-2006
Ubicación: Argentina
Mensajes: 86
Antigüedad: 18 años, 2 meses
Puntos: 2
Pregunta Incertidumbre con header("content-type: image/jpeg")

Hola, el hasta ahora inalcanzado objetivo, que me trajo a pedir ayuda es, en un mismo script, mostrar un par de

thumbnails que genero pero que no guardo previamente. He realizado pruebas con una sola imágen que funcionan

individualmente pero no en medio del código de una página copleta. Me devuelve "Warning: Cannot modify header

information - headers already sent by..." por lo que entiendo que, con "header("content-type: image/jpeg")" del

script generador de thumbs estoy reenviando la cabecera.
Lo que me desconcierta es que no encuentro en el resto del código el "header" que, según la advertencia, ya ha

sido enviado y lo que si encuentro es un "Content-Type" dentro de <head> en:
"<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />"
He probado de agregar "image/jpeg" a esa línea en diferentes formas y lugares pero no consigo solucionar nada.

Supongo que una solución sería generar los thumbnails, guardarlos, mostrarlos y luego eliminarlos pero me

parece rebuscado e incorrecto.
Quisiera saber si es posible enviar una sola cabecera que contenga toda la información nacesaria y de ser asi

cómo hacerlo.
Espero haberme podido explicar bien y agradezco desde ya su atención a mi inquietud.
Saludos.
Xav.
  #2 (permalink)  
Antiguo 21/06/2006, 01:51
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Creo (no estoy seguro) que la solución pasa por poner el código que te genera los thumbnails dentro de un tag <img>
Código HTML:
<img src="thumb.php"> 
Y asegurarte de que dentro de ese fichero 'thumb.php' no se printa nada al navegador antes de la llamada a la función header.
  #3 (permalink)  
Antiguo 21/06/2006, 08:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por jerkan
Creo (no estoy seguro) que la solución pasa por poner el código que te genera los thumbnails dentro de un tag <img>
Código HTML:
<img src="thumb.php"> 
Y asegurarte de que dentro de ese fichero 'thumb.php' no se printa nada al navegador antes de la llamada a la función header.
Realmente no es "poner el código" textual en un tag de imagen HTML (img ..) sino "llamar" a tu código PHP que genera tu imagen en forma aislada por un tag de imagen HTML común ... (Ok, ..es el ejemplo que pusistes .. sólo era par dejar algo más claro dicho concepto ..).

Esta forma "obligada" de trabajar no lo rige PHP sino que es parte de como funciona el protocolo HTTP y el lenguaje HTML + los clientes de este tipo (navegadores).

Cuando generas una página HTML . .aunque tu no lo definas se le indica al "navegador" que los datos que se le están enviando son de contenido "HTML o texto plano" para que así lo interprete ... Si quieres colocar una imagen . .vía HTML usas un tag <img ...> y de esta forma le indicas "pero estos datos en concreto son de otro tipo ...." y luego continua con lo que anteriormente tenía pre-establecido (texto plano y/o HTML ..).

Por ende .. el script que generar el thumbnail .. ha de ser un "código" tal que NO envie o genera nada más que esos datos "binarios" de la imagen .. es decir .. nada de HTML por médio .. ni un echo "con algo" .. ni similar. Todo eso originará problemas de "cabeceras" en funciones como header() .. pero como hemos visto se puede combinar en una página HTML común (o generada por PHP a su vez) llamandola según el tag de ejemplo descrito por jerkan.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 22/06/2006, 09:57
xav
 
Fecha de Ingreso: enero-2006
Ubicación: Argentina
Mensajes: 86
Antigüedad: 18 años, 2 meses
Puntos: 2
Hola Jerkan, hola Cluster, quiero agradecerles por el dato que me ha sido de gran ayuda y que por cierto me resultó muy interesante y de paso aportar una pequeña observación. Para <img src="script.php"> el comando imagejpeg($mythumbnail) de script.php envía la img, y si le agregamos un 2do. parámetro imagejpeg($mythumbnail, "myminiatura.jpeg"); envía la img nombrada por lo que podemos generar en un mismo script multiples imgs y mostrarlas con <img src="myminiatura1.jpeg">, <img src="myminiatura2.jpeg">, etc., cosa que con <img src="script.php"> no sucede, mostrando solamente la 1er. img generada.
Gracias otra vez, saludos y hasta la próxima.
Xav.

Última edición por xav; 23/06/2006 a las 12:46
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 21:00.