Foros del Web » Programando para Internet » PHP »

problemas con imagenes php y mysql

Estas en el tema de problemas con imagenes php y mysql en el foro de PHP en Foros del Web. aludos a todos a ver si alguien me puede echar un cable miren el problema q tengo es q 1º he creado una web en ...
  #1 (permalink)  
Antiguo 26/07/2006, 09:27
 
Fecha de Ingreso: julio-2006
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
problemas con imagenes php y mysql

aludos a todos a ver si alguien me puede echar un cable
miren el problema q tengo es q
1º he creado una web en html y php en la cual subo las imagenes de mi ordenador a mi servidor en la base de datos mysql lo cual no me da problemas i la consigo guaradar
2º he creado una web para sacar los datos i la foto de la base de dato
3lo q hace bien me muestra los datos escritos como nombre o idfoto pero cuando deberia mostrar la foto me muestra una pagina completa de signos sin sentido

a qui les muestro mi codigo para extrar las fotos i los demas campos
$terminobusqueda = addslashes($terminobusqueda);

@ $db = mysql_pconnect("localhost", "root", "xxx");

if (!$db)
{
echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde.";
exit;
}

mysql_select_db("nuke");
$consulta = "SELECT idfoto,nombre,foto FROM `tabla` WHERE `idfoto`=$terminobusqueda LIMIT 0, 30;";
$resultado = mysql_query($consulta);

$num_resultados = mysql_num_rows($resultado);


for($i=0; $i<$num_resultados; $i++)
{

$row = mysql_fetch_array($resultado);

echo"<tr>";


echo "<td>".stripslashes($row["idfoto"])."</td>";
echo "<td>".stripslashes($row["nombre"])."</td>";
$ima=$row["foto"];
echo "<td><img src=".$ima."></td>";

echo"</tr>";



}


?>

</body>
</html>


espero q alguien me pueda ayudar porfavor Rolling Eyes
  #2 (permalink)  
Antiguo 26/07/2006, 09:51
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
Por lo que entiendo lo que haces es subir la imagen a la base de datos(como campo blow, no su ubicacion), si es asi revisa el siguiente enlace:

http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/

Ademas esto vale para cualquier tipo de archivo.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 26/07/2006, 20:02
 
Fecha de Ingreso: julio-2006
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
gracias bytevamp he seguido el manual i lo he adaptado los documentos he creado la tabla y conecto a la base de datos
y me hace bien el guardar datos y a la hora de mostrar estamos igual q antes
no me muestra la imgen pero si me muestra correctamente todos sus datos y he ido a ver si esta guardada en la base de datos y en efecto esta bien guardados los datos
sabes por q puede ser??

ademas estoy pensado en lugar de almacenar las imagnes en la base almacenar su ubicacion
Q opinas sobre esa forma ??
  #4 (permalink)  
Antiguo 26/07/2006, 20:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
ademas estoy pensado en lugar de almacenar las imagnes en la base almacenar su ubicacion
Q opinas sobre esa forma ??
Todo depende de las caracteristicas de tu proyecto .. almacenar en "binario" archivos presta ciertas ventas y tiene como todo sus desventajas (en el link que te dejaron se comentan si mal no recuerdo en los mensajes de los usuarios).

Sobre tu còdigo incial y de lo que puedas haber adaptado ..

NO puedes hacer esto:
Código PHP:
$ima=$row["foto"];
echo 
"<td><img src=".$ima."></td>"
Suponiendo que la imagen .. ese $ima sea un "binario" de la misma y no una referencia dle nombre de la imagen y ruta si es necesario .. (Confirma esto en tu caso si es asì).

En los casos que se almacena la imagen o archivo en "binario" .. se debe crear un script "aparte" para que este sea llamado a la hora de querer ver la imagen; tal como en el tutorial que te dejaron el link veras y se hace con:

Código PHP:
 echo "<img src=\"ver.php?id=".$registro['id']."\">"
Si te fijas, .. el "src" (source) de la imagen se manda a llamar al scirpt que la genera: ver.php .. y este a su vez compone ciertas cabeceras HTTP, lee el archivo "binario" de tu BBDD y procesa el envio de todo al "buffer de salida" de PHP.

Si en ese caso no ves la imagen .. debes revisar y hacer ciertas pruebas para ver el posible mensaje de error que se està produciendo pero no ves:

1) Llamar directamente con datos de prueba al script ver_imagen.php (con algùn ID de registro de imagen que sepas que exista).

Ahì es probable que ya veas mensajes de error, según cual sea asì serà la soluciòn. En otros casos sigues sin ver mensajes de error por què la configuración de PHP en tu caso los oculta .. en ese caso fuerza a verlos: error_reporting .. display_errors (de tu php.ini) te ayudaran a verlos.

2) Comenta las líneas de código que hacen referencia a header() .. y vuelves a ejecutar tu código directamente por el URL ("barra de direcciones" de tu navegador).

Si ves muchos "garabatos" (lidsfuoasdf kasdfiukljdsf) eso es el "binario" de la imagen .. eso indica que la consulta SQL en ese caso se estarìa ejecutando correctamente y habrìa problemas con las cabeceras HTTP (lanzadas por header()).

Eso serìan algunas de las principales pruebas. No se puede uno quedar mirando la "X" .. hay que "ver el mensaje de error" .. Este tipo de pruebas no es sòlo aplicable a este problema concreto sino en general a todo proceso que use "header()" por alguna razón .. o procesan imagenes ...etc.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 15:14.