Foros del Web » Programando para Internet » PHP »

problema para listar imagenes desde BD

Estas en el tema de problema para listar imagenes desde BD en el foro de PHP en Foros del Web. hola amigos tengo este codigo para listar imagenes de mi BD listar_fotos.php Código PHP: <?php session_start (); include( "conexion.php" ); $userid  =  $_SESSION [ 'userid' ...
  #1 (permalink)  
Antiguo 17/05/2004, 19:06
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 3 meses
Puntos: 2
problema para listar imagenes desde BD

hola amigos tengo este codigo para listar imagenes de mi BD

listar_fotos.php

Código PHP:
<?php
session_start
();
include(
"conexion.php");
$userid $_SESSION['userid'];
$consulta=mysql_query("SELECT userid, idfoto, archivo_nombre, archivo_tipo, archivo_peso FROM fotosusuarios WHERE userid='$userid'") or die (mysql_error());
while(
$registro=mysql_fetch_assoc($consulta)){
echo 
"<img src=\"ver_foto.php?idfoto=".$registro['idfoto']."\">";
echo 
"<br> Nombre archivo: ".$registro['archivo_nombre'];
echo 
"<br> Tipo archivo (MIME formato): ".$registro['archivo_tipo'];
echo 
"<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>";
}
?>
ver_foto.php
Código PHP:
<?php
if(isset($_GET['idfoto'])) {
$idfoto $_GET['idfoto'];
include(
"conexion.php");
$consulta mysql_query("SELECT idfoto, archivo_binario, archivo_tipo FROM fotosusuarios WHERE idfoto='$idfoto' ") or die (mysql_error());
$datos mysql_result($consulta,0,"archivo_binario");
$tipo mysql_result($consulta,0,"archivo_tipo");
header("Content-type: $tipo");
echo 
$datos;
mysql_close();
}else {
echo 
"no se puede obtener la foto";
}
?>
probe casi todo, los idfoto, con echo comprobe si llegan los valores, me lista el peso, el tipo , y el nombre de la imagen pero no la foto en si.......me aparce el cuadrito con la X de windows , tambien probe las sesiones y la conexion a la base de datos.

si alguien puede darme una ayuda se le agradeceria mucho......Desde ya muchas gracias
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
  #2 (permalink)  
Antiguo 17/05/2004, 19:12
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
http://www.forosdelweb.com/showthrea...chivos+binario

Lee
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 17/05/2004, 21:15
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 3 meses
Puntos: 2
gracias Gerald pero ya lo lei completamente y no encontre la solucion ahi

saludos
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
  #4 (permalink)  
Antiguo 18/05/2004, 03:59
 
Fecha de Ingreso: mayo-2004
Ubicación: españa
Mensajes: 45
Antigüedad: 19 años, 11 meses
Puntos: 0
¿Porque no guardas el resultado de la consulta en un fichero temporal con un copy o con un fwrite creado aleatoriamente y muetras el tempòral?
Eso sera una buena accion
y por cierto... Seguro q tienes fotos en la base de datos? compruebalo
__________________
a por todassss
  #5 (permalink)  
Antiguo 18/05/2004, 04:03
 
Fecha de Ingreso: mayo-2004
Ubicación: españa
Mensajes: 45
Antigüedad: 19 años, 11 meses
Puntos: 0
////bueno te dejo uno que hice yo hace mucho
///estan comprimidas asi q cambi lo de gz
///suerte

Código PHP:
$conexion=@mysql_connect("localhost","","");
$res=mysql_select_db("fotos",$conexion);    
$qry "SELECT foto_grande FROM fotos.foto_foto where idfoto='".$_GET["idfoto"]."'";
$res2 mysql_query($qry);
$foto=basename(tempnam(getcwd(),'tmp'));
$foto.=".jpg";
$contenido2=mysql_result($res2,0,0);    
$ft=gzopen($foto,"w9"); 
gzwrite($ft,$contenido2);
gzclose($ft);
echo 
'<center><img src='.$foto.'>&nbsp;&nbsp;&nbsp;<br><br>';
echo 
'<font size=1><a href=descargar_archivo2.php>Volver al album</a>'
__________________
a por todassss
  #6 (permalink)  
Antiguo 18/05/2004, 05:06
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Por que no guardas la ruta en la bd y las imagenes en un dierctorio??

Creo que te seria mejor ya que guardas mas cosas aparte de las imagenes y creo que te retarda la QUERY bastante

Un abrazo de un PHPero+
kco
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #7 (permalink)  
Antiguo 18/05/2004, 07:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En tu BD en el campo de "archivo_binario" .. se almacena tu archivo ?

Si le quitas el:
header("Content-type: $tipo");

al ver_foro.php

* Ves una série de carcateres "estraños" (es el archivo binario ..)?
* El $tipo corresponde al del archivo? (en ver_foto.php) ?

¿Usas sesiones? en el código de "ver_foto.php"? .. Si es así .. prueba momentaneamente a quitarlas (los session_start() que puedas tener ahí) ..

Te comento esto sobre sesiones, por qué las sesiones al iniciarse crean unas cabeceras HTTP que pueden dar conflictos con las que posteriormente tu envias con header() ..

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 23/05/2004, 18:36
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 3 meses
Puntos: 2
Gracias Alkañon por el codigo pero mi finalidad es cargarlas desde la base de datos directamente.......porque mi sistema necesita ser lo mas optimizado posible. ademas probe con el PHPMYADMIN y las imagenes si estan guardadas me dice el tamaño el tipo y el nombre
Gracias kco pero como utilizo un campo BLOD para guardar mis imagenes cuya capacidad esta restringida a 64KB siempre hacer un query es mucho mas rapido que acceder al sistema de archivos del S.O.
Gracias cluster probe lo que me dijiste y saque las sessiones pero sigue sin funcionar alguna otra sugerencia??
Por favor se los agradeceria mucho
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
  #9 (permalink)  
Antiguo 24/05/2004, 06:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm .. revisa a ver si tienes problemas con la sentencia SQL en los mysql_result() o mysql_query()

Ya veo que usas un mysql_error() .. pero si "lanzas" cabeceras HTTP (header() ...) tal vez no veas el error "legible". Desactiva momentanéamente:

// header("Content-type: $tipo");

Y observa si la sentencia SQL arraja algún error

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 24/05/2004, 16:10
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 3 meses
Puntos: 2
gracias cluster probe lo que me dijiste.......desactive el header y me aparece asi:
Cita:
GIF89a÷€€€€€€€€€ÀÀÀÀÜÀ¦Êð*UªÔ****U**ª*ÔUU*UUU UªUÔ*UªÔªª*ªUªªªªÔÔÔ*ÔUÔÔªÔÔ****U**ª*Ô** *****U****ª**Ô*U*U**UU*U*Uª*UÔ****U**ª*Ô* ª*ª**ªU*ª*ªª*ªÔ*Ô*Ô**ÔU*Ô*Ôª*ÔÔUU*UUUUªUÔU*U**U *UU*U*ªU*ÔUUUU*UUUUUUUªUUÔUU*UUUUªUÔUªUª* UªUUªUªªUªÔUÔUÔ*UÔUUÔUÔªUÔÔ*UªÔ****U* *ª*ÔUU*UUUUªUÔ*UªÔªª*ªU ªªªªÔÔÔ*ÔUÔÔªÔÔªª*ªUªªªªÔª*ª**ª*Uª*ª*ª ª*ÔªUªU*ªUUªUªUªªUÔªª*ªUªªªªÔªªªª*ªªUªªªª ªªªÔªÔªÔ*ªÔUªÔªÔªªÔÔÔÔ*ÔUÔÔªÔÔÔ*Ô**Ô*UÔ*Ô*ªÔ*ÔÔ UÔU*ÔUUÔUÔUªÔUÔÔÔ*ÔUÔÔªÔÔÔªÔª*ÔªUÔªÔªªÔªÔ ÔÔÔÔ*ÔÔUÔÔÔÔªÔÔÔ &&&333???LLLYYYfffrrrŒŒŒ™™™¥¥¥²²²¿¿¿ÌÌÌØØØåå åòòòÿû𠤀€€ÿÿÿÿÿÿÿÿÿÿÿÿ!ùÿ,ÿýÓ"°à? @° B„!FT˜°`@;
supongo que como el navegador no recibio las cabeceras mime lo toma la foto y la muestra como ascii..........pero cuando pongo las cabeceras mime que corresponden me aparece el simbolito clasico de windows con la X y no aparece la imagen............ya no se que hacer espero si me pueden ayudar ya que esto es fundamental para mi
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
  #11 (permalink)  
Antiguo 25/05/2004, 06:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok, .. el dato parece que lo almacena en la BD correctamente y la consulta SQL funciona .. ahora abría que ver si el $tipo corresponde al de esa imgane (GIF en el ejemplo que pusistes).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 25/05/2004, 17:57
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 3 meses
Puntos: 2
si cluster probe y esa es la cabecera correspondiendte "image/gif".......pero sigue sin andar.....alguna otra sugerencia??? por favor
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
  #13 (permalink)  
Antiguo 25/05/2004, 19:53
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Que version de GD tienes?
puedes averiguarlo haciendo un archivo

phpinfo.php

Código PHP:
<?php phpinfo(); ?>
En GD ve si tu hosting soporta gif y ve la version que tienes de tu GD
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #14 (permalink)  
Antiguo 26/05/2004, 15:47
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 3 meses
Puntos: 2
Gerald.............¿¿¿¿ GD ???? para que quiero tener instalado GD.........creo que te confundiste.........ademas lo estoy probando en mi propia maquina windows XP con Appserv..........Gracias........alguna sugerencia???
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
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 20:42.