Foros del Web » Programando para Internet » PHP »

Imagenes TIPO BLOB. Mostrarlas

Estas en el tema de Imagenes TIPO BLOB. Mostrarlas en el foro de PHP en Foros del Web. Hola, os comento. Tengo en una tabla de la base de datos un atributo que es de tipo mediumblob. Lo que hago es que una ...
  #1 (permalink)  
Antiguo 17/06/2004, 06:08
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 14 años, 1 mes
Puntos: 5
Imagenes TIPO BLOB. Mostrarlas

Hola, os comento. Tengo en una tabla de la base de datos un atributo que es de tipo mediumblob. Lo que hago es que una persona seleccione una imagen de su disco duro y la suba a la base de datos. Hasta ahí genial. De hecho se me inserta perfectamente en la base de datos. Mi problema es el siguiente. Cuando quiero mostrar dicha imagen en el navegador me salen letras raras. La pregunta es la siguiente ¿Como he de recuperar una imagen de la base de datos para luego poder mostrarla?. Gracias.

PD: Mi idea es mostrar todas esas imagenes en tablas y demás, es decir, no quiero que sea una página aparte donde solo esté esa imagen sino que esté metida con más información. Gracias
  #2 (permalink)  
Antiguo 17/06/2004, 10:14
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 5 meses
Puntos: 2
http://www.forosdelweb.com/showthrea...+subir+binario

Lee el tutorial de Cluster ;)
el que te da la caña y trata de enseñarte a pescar :aplausos:
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 18/06/2004, 09:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 14 años, 1 mes
Puntos: 5
Gracias por responder pero no está ahí mi duda. Evidentemente ya me lo leí jeje. La cuestión es la siguiente.

<? echo "<img src=\"ver.php?id=".$art_referencia."\">"; ?>
Esta instrucción la tengo en mostrar_articulos.php. pero juer. si quiero mostrar 1000 articulos. ¿Porque he de hacer 1000 consultas a la base de datos? Yo lo que quiero es que para que se muestre la imagen, no tenga que irme a otra página que sea la que me la muestre y ésta me de el resultado juer, es muy ineficiente. ¿Porque razón esto no funciona?:

Foto*: <? echo "<img src=\"".$art_foto."\">"; ?>

siendo $art_foto el contenido binario de la base de datos. Y ni tan siquiera poniendo el content type=$art_tipo_foto que en este caso seria image/pjpeg.

ESA ES MI PREGUNTA jejeje.
  #4 (permalink)  
Antiguo 18/06/2004, 12:20
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 15 años, 1 mes
Puntos: 1
De acuerdo

Saludos

Yo utilizo el siguiente código apra el muestreo de las imagenes de fuentes tipográficas en mi sitio web:

Cita:
//esta es la página preview.php
$result = mysql_query("SELECT * FROM font WHERE id='$id");
header("Content-type: image/png");
$imagen = mysql_fetch_array($result);
echo $imagen["preview"];
Y en otro sitio la mando a llamar asi:
<img src="preview.php?id=5" border="0">

Eso lo puedes ir completando con tu while() del mysql_fetch_array.
Espero y te sirva, saludos.
__________________
Fuentes - Diseweb - Frases Célebres
  #5 (permalink)  
Antiguo 18/06/2004, 12:36
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 14 años, 1 mes
Puntos: 5
Vamos a ver, no se si es que no me estoy explicando bien. Rasmork, eso que tú haces es justamente lo que dice el tutorial y lo que yo hago. Yo lo que digo es lo siguiente Vamos a ver Haces un solo query, por ejemplo, SELECT * FROM ARCHIVOS ¿ok? Bien, y ahora uso un while con su mysql_fetch_object donde extraigo uno a uno los registros y donde puedo acceder directamente ya al contenido (binario) de la foto. Bien si esto se puede hacer,, quiere decir que con un asola conexión a la base de datos con una sola consulta, puedo visualizar en una misma página cuantas fotos hay aen la base se datos.

Si lo hago como decis ustedes o como dice el tutorial, si tengo 1000 fotos que quiero mostrar en una página por la razón que sea... entonces estaría haciendo 1000 conexiones a la base de datos con 1000 consultas, mientras que si se puede hacer como yo digo seria una sola consulta con una sola conexión

¿COMO SE PUEDE HACER? si es que e puede hacer y sino se puede hacer... ¿que rollo no? tendria que estar subiendo en vez de a la base de datos al servidor y meter en la base de datos los links a las imagenes, pero imagino que esto no será asi. Por favor contestenme. Gracias
  #6 (permalink)  
Antiguo 19/06/2004, 03:00
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 14 años, 1 mes
Puntos: 5
juer ¿nadie lo sabe?
  #7 (permalink)  
Antiguo 19/06/2004, 11:21
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 14 años, 2 meses
Puntos: 4
por que te preocupa tanto que haga tantas consultas, en mi caso yo lo ago como dice el tutorial, muestro mas o menos 7 imagenes por pagina, y no hay problema, no le hace ni cosquillas al servidor, tu no te preocupes, si los creadores del tutorial te lo recomiendan es por que no hay problema.
  #8 (permalink)  
Antiguo 19/06/2004, 13:42
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 14 años, 1 mes
Puntos: 5
Me preocupa por la eficiencia.

Bueno al final lo he solucionado de la siguiente forma. Como en una pagina hacia una consulta a todos los registros y en éste ya tenia el contenido binario., Lo que he hcho es meterlo en una variable de sesión que recoge el ver.php de esa forma sin hacer uso inadecuado de conexiones, consigo mostrarlas.

jeje Saludos a todos
  #9 (permalink)  
Antiguo 19/06/2004, 15:09
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 15 años, 1 mes
Puntos: 1
Sonrisa

Eso es verdad xcorpion, me alegro que malalengua haya solucionado el problema, hasta pronto.

Saludos.
__________________
Fuentes - Diseweb - Frases Célebres
  #10 (permalink)  
Antiguo 19/06/2004, 15:12
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 14 años, 2 meses
Puntos: 4
pues yo tambien me alegro, y creo que su idea es algo creativa, pero me pregunto si no hay alguna restriccion en cuanto al tamaño de las variables de sesion para almacenar imgenes en forma binaria.
  #11 (permalink)  
Antiguo 21/06/2004, 07:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm bueno .. no sé que es peor en cuanto a rendimiento:

1) usar una consulta a tu BD´.
2) usar una sesión que al fin y al cabo es un archivo que se crea temporalmente en el servidor ..

Por lo demás .. El tutorial que mencionan no es que "recomiende" guardar tus archivos (imagenes, etc) en una Base de datos en forma binaria (en un campo de ella) sino que sólo explica esa técnica de las dos comunes que hay para gestinar tus archivos en tu servidor. Podría tener el archivo físicamente en tu sistema de archivos y en tu BD sólo guardar el nombre del archivo (y ruta si corresponde) .. con lo cual liberas de un gran peso a la BD en sí. Todo depende del proyecto en sí a realizar: del nº de archivos probables . .del peso de estos por cada uno .. etc. Como todo .. hay que evaluarlo antes de hacer nada.

Un saludo,
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 07:43.