Foros del Web » Programando para Internet » PHP »

¿Hay alguna forma de extraer una imagen de una base de datos sin lo de "Headers"?

Estas en el tema de ¿Hay alguna forma de extraer una imagen de una base de datos sin lo de "Headers"? en el foro de PHP en Foros del Web. Pues tengo una tabla en la base de datos que contiene las fotos de una galeria, y lo que quiere es mostrar todas esas fotos ...
  #1 (permalink)  
Antiguo 17/08/2006, 13:45
 
Fecha de Ingreso: julio-2004
Ubicación: Valladolid
Mensajes: 46
Antigüedad: 19 años, 8 meses
Puntos: 0
Recuperar imagenes de una base da datos

Pues tengo una tabla en la base de datos que contiene las fotos de una galeria, y lo que quiere es mostrar todas esas fotos en una galeria.

Se como se hace para mostrar una imagen que esta almacenada en la base de datos, pero lo hago con lo de

header("Content-Type: $mime");
// Muestra la imagen
echo $imagen;


y asi tan solo me muestra una foto, y yo lo que quiero es mostrar todas las imagenes de la tabla en una galeria, haciendo algo como

<table>
<tr>
<td>//aqui mostraria una imagen de la base de datos</td>
<td>//aqui mostraria otra imagen de la base de datos</td>
</tr>
</table>


A ver si alguien me puede ayudar.

Gracias
  #2 (permalink)  
Antiguo 17/08/2006, 13:47
Avatar de fer10  
Fecha de Ingreso: octubre-2005
Ubicación: Guadalajara - Mexico
Mensajes: 905
Antigüedad: 18 años, 6 meses
Puntos: 4
te recomiendo este articulo aqui aprendi yo eso de subir imagnes y mostrar en bd


http://www.rinconastur.net/php/php86.php
__________________
Saludos
FT.
www.fernando.com.mx
  #3 (permalink)  
Antiguo 18/08/2006, 06:02
 
Fecha de Ingreso: julio-2004
Ubicación: Valladolid
Mensajes: 46
Antigüedad: 19 años, 8 meses
Puntos: 0
El tutorial esta muy bien, pero tengo un problema

El server donde tengo la web es "miarroba" y lo que pasa es que antes de enviar lo de "Header", el servidor coloca una linea con un script en javascript, y entonces no se ve la imagen.
Lo estoy haciendo bien, porque en lycos si me funciona, y queria saber si hay alguna forma de solucionar el problema.

Gracias
  #4 (permalink)  
Antiguo 18/08/2006, 06:08
 
Fecha de Ingreso: julio-2004
Ubicación: Valladolid
Mensajes: 46
Antigüedad: 19 años, 8 meses
Puntos: 0
¿Hay alguna forma de extraer una imagen de una base de datos sin lo de "Headers"?

El problema es que el server en el que tengo mi web (miarroba.com) enviar antes del header un script en javascript, y entonces ya no se muestra la imagen.

No se si habra alguna otra forma de mostrar las imagenes almacenadas en la base de datos.

Gracias.
  #5 (permalink)  
Antiguo 18/08/2006, 06:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En lugar de enviar tu archivo directamente al buffer de salida de PHP (y por ende necesitas enviar cabeceras HTTP), genera el gráfico hacia un archivo físcio en tu servidor y de ahí lo lees (accedes) .. si despues de tu proceso ya no lo necesitas .. lo eliminas.

De esta forma no es biable tu sistema .. sobre todo cuando justamente uno usa estas "cabeceras" y demás para evitar que se conozca la ruta de tu archivo original ..

Creo que la solución más factible es -cambiarte de proveedor- .. (no usar sistemas "gratuitos" que su publicidad se base en insertar código por delante del tuyo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 18/08/2006, 14:17
 
Fecha de Ingreso: julio-2004
Ubicación: Valladolid
Mensajes: 46
Antigüedad: 19 años, 8 meses
Puntos: 0
Lo he conseguido haciendo una fichero que tenga el contenido que estaba en la base da datos (como me acabas de decir), pero entonces, ese archivo que he creado se me queda en el servidor, y entonces si miro muchas imagenes distintas se me crearian muchos ficheros temporales,
¿hay alguna solucion para eso?
  #7 (permalink)  
Antiguo 18/08/2006, 14:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues la solución es que limpies ese directorio regularmente de los archivos que contengan ..

Como usas un servicio de hosting "gratuito" .. para que recomendarte que crees un Cron Job .. (toma nota por si puedes hacerlo en alguno que uses "decente"). En ese caso se configura el cron Job (esto no es de PHP . .es una funcionalidad que tu proveedor te dá) y llamas a un script tuyo que lo que haga sólo al ejecutarlo es borrar todo archivo de tal directorio .. donde tu guardas tus "temporales".

En su defecto . .coloca tu código de borrado de archivos sobre tu "index" o página que más visita reciba. Tendrás problemas si borras indiscriminadamente con las imagenes "temporales" que están en curso .. realmente eso no sé como lo vas a controlar. (Fijate todos los problemas, baja de rendimiento de tu aplicación y lios por no usar un servicio de hosting en condiciones .. intenga ver "ofertas" que las hay y paga por uno .. o cambiate a otro proveedor como sea .. no es viable todo lo que estás haciendo).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 19/08/2006, 02:01
 
Fecha de Ingreso: julio-2004
Ubicación: Valladolid
Mensajes: 46
Antigüedad: 19 años, 8 meses
Puntos: 0
Ok, muchas gracias.

Mirare a ver otro hosting
  #9 (permalink)  
Antiguo 22/08/2006, 02:52
 
Fecha de Ingreso: agosto-2006
Mensajes: 20
Antigüedad: 17 años, 8 meses
Puntos: 0
Yo lo que hice para arreglar ese problema con los temporales es crearme este pequeño programita:

<?php

// bucles que eliminan todos los archivos temporales que se crean al mostrar
// las imágenes de la bases de datos

foreach (glob("*.tmp") as $filename)
{
unlink($filename);
}

foreach (glob("*.jpg") as $filename)
{
unlink($filename);
}


?>

Naturalmente el resto de imagenes que necesito para el diseño de la web, las tengo a salvo en una carpeta IMAGENES, de manera que no son eliminadas por este codigo. Luego lo que hago es que cada vez que voy a mostrar alguna imagen en alguna página invoco a esta funcioón más o menos asi:

include "eliminar.php"

Espero que te sirva de ayuda.
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 06:45.