MOSTRAR IMAGEN DESDE B.D. MYSQL

DaN
25 de Agosto del 2005
Mi problema es que intento mostrar una imagen desde una base de datos MySQL modificando en las cabeceras de la página el tipo MIME al de una imagen.

Esta solución funciona si lo único que muestro es la imagen, o bien si es la imagen lo primero que muestro. En cambio, el problema surge si intento mostrar la imagen después de haber enviado algunos datos al navegador. Por ejemplo en un formulario donde muestro información de un usuario y por último su foto.

Sé que se trata de un error típico. No se puede mandar absolutamente nada antes de modificar un header. Mi problema son los "echo". Utilizo este modo para sacar la información por pantalla. Por lo tanto tendría que cambiar las cabeceras de la página al principio, "almacenar la imagen en algun lado", cambiar de nuevo el tipo MIME a HTML y seguir con la página y finalmente mostrar la imagen donde me convenga... o algo así.

Mi pregunta es: ¿se puede almacenar la imagen al principio para mostrarla luego dentro del HTML?

¿Se os ocurre una solución mas simple?

PONED UN EJEMPLO DE LA SOLUCIÓN.

Muuuuuuchas gracias.

P.D: Si no ha quedado clara la pregunta, puedo postear el código para que le echéis un vistazo.

DaN
25 de Agosto del 2005
Bueno creo que un ejemplo vale más que mil palabras :P.

DE ESTA FORMA FUNCIONA (comprobao):

(imaginemos que el query es un SELECT de una imagen de la tabla)
- $result = mysql_query($Query,$link);
- $result_array = mysql_fetch_array($result);
- header("Content-Type: image/jpeg");
- echo $result_array[0];
- header("Content-Type: text/html");
- echo "HOLA";

DE ESTA FORMA NO (¿soluciones?):

- header("Content-Type: text/html");
- echo "HOLA";
- $result = mysql_query($Query,$link);
- $result_array = mysql_fetch_array($result);
- header("Content-Type: image/jpeg"); //aquí da el error
- echo $result_array[0]; // y muestra una locura (binaria) :P

La diferencia está en que un código muestra la imagen primero y hace el "echo" después(BIEN) y la otra al contrario(MAL). Pero yo quiero que aparezca HOLA y debajo la imagen. ¿OK?

Joe... más claro el agua... xDDD

Besitos xD