Foros del Web » Programando para Internet » PHP »

Subir archivos a BD. Error?

Estas en el tema de Subir archivos a BD. Error? en el foro de PHP en Foros del Web. Hola tengo el siguiente script, y al subir las fotos a la base de datos, se me suben pero a la hora de mostrarlas no ...
  #1 (permalink)  
Antiguo 20/09/2006, 14:04
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Subir archivos a BD. Error?

Hola tengo el siguiente script, y al subir las fotos a la base de datos, se me suben pero a la hora de mostrarlas no se muestran, se muestran simbolos raros.. alguien sabe porque puede ser?

Este es el script con el que subo las fotos:

Código PHP:

if (empty($_FILES['foto']['name'])){ 
echo 
"Falta indicar archivo";
exit; 
}

$link=@mysql_connect("localhost","root","") or die("<p><font color=\"#FFFF00\" face=\"Verdana\" size=\"1\"><center>Error: No se a podido conectar con la Base de datos.</center></font>");
mysql_select_db("MuSiKa"$link) or die("<p><font color=\"#FFFF00\" face=\"Verdana\" size=\"1\"><center>Error: No se a podido seleccionar la Base de datos.</center></font>");

$binario_nombre_temporal=$_FILES['foto']['tmp_name'] ; 
$binario addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 
$tabla "INSERT INTO fotos (id, binario) VALUES ('$id', '$binario')"
mysql_query($tabla,$link) or die("<p><font color=\"#FF0000\" face=\"Verdana\" size=\"1\"><center>Error: No se pudo introducir los datos en la tabla <b>fotos</b>.</center></font>");

Echo 
"Datos introducidos correctamente"
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #2 (permalink)  
Antiguo 20/09/2006, 14:19
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Que codigo usas para mostrar la imagen? Ahi debes preocuparte de colocar las cabeceras correctas para que el navegador interprete bien la informacion.
  #3 (permalink)  
Antiguo 20/09/2006, 14:33
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Este, pero el codigo de mostrar no se porque en otra base de datos ke tengo me va bien, pero en esta no :S
Código PHP:
<?
Header 
("Content-type: image/jpeg"); 
if(isset(
$_GET['id'])) { 

    
$link=@mysql_connect("localhost","root","") or die("<p><font color=\"#FFFF00\" face=\"Verdana\" size=\"1\"><center>Error: No se a podido conectar con la Base de datos.</center></font>");
    
mysql_select_db("MuSiKa"$link) or die("<p><font color=\"#FFFF00\" face=\"Verdana\" size=\"1\"><center>Error: No se a podido seleccionar la Base de datos.</center></font>");

    
$sql "SELECT id,binario FROM fotos WHERE id='".$_GET['id']."'"
    
$consulta mysql_query($sql,$link); 
    
$datos mysql_result($consulta,0,"binario"); 
    echo 
$datos;


?>
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #4 (permalink)  
Antiguo 20/09/2006, 15:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por mdk Ver Mensaje
Este, pero el codigo de mostrar no se porque en otra base de datos ke tengo me va bien, pero en esta no :S
Código PHP:
<?
Header 
("Content-type: image/jpeg"); 
if(isset(
$_GET['id'])) { 

    
$link=@mysql_connect("localhost","root","") or die("<p><font color=\"#FFFF00\" face=\"Verdana\" size=\"1\"><center>Error: No se a podido conectar con la Base de datos.</center></font>");
    
mysql_select_db("MuSiKa"$link) or die("<p><font color=\"#FFFF00\" face=\"Verdana\" size=\"1\"><center>Error: No se a podido seleccionar la Base de datos.</center></font>");

    
$sql "SELECT id,binario FROM fotos WHERE id='".$_GET['id']."'"
    
$consulta mysql_query($sql,$link); 
    
$datos mysql_result($consulta,0,"binario"); 
    echo 
$datos;


?>
Una observación ..

Si tu envias las cabeceras HTTP tipo "content-type" definiendo un tipo de datos "binario" que vas a enviar y se produce un error (que más encima compones "HTML" para mostrarlo .. nunca lo veras (ni aunque ejecutes el código por separado no bajo un tag de imagen <img src ...>)

Envia las cabeceras justo antes de enviar tu salida ..´

Código PHP:
<?
if(isset($_GET['id'])) {  

    
$link=@mysql_connect("localhost","root","") or die("<p><font color=\"#FFFF00\" face=\"Verdana\" size=\"1\"><center>Error: No se a podido conectar con la Base de datos.</center></font>"); 
    
mysql_select_db("MuSiKa"$link) or die("<p><font color=\"#FFFF00\" face=\"Verdana\" size=\"1\"><center>Error: No se a podido seleccionar la Base de datos.</center></font>"); 

    
$sql "SELECT id,binario FROM fotos WHERE id='".$_GET['id']."'";  
    
$consulta mysql_query($sql,$link);  
    
$datos mysql_result($consulta,0,"binario");  

    
Header ("Content-type: image/jpeg");  
    echo 
$datos

}  
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 20/09/2006, 15:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ejecuta tu código (con la modificación que te indiqué antes sobre las cabeceras) por el navegador directo y observa si tienes algún mensaje de error (de conexión o SQL en general):

http://www.nose.tal/nose.php?id=algunoquesepasqueexiste

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 20/09/2006, 17:02
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Cluster gracias como siempre por contestar, pero es que el problema que tengo, es que los datos binarios se muestran como texto en el navegador en vez de como imagen al poner la ruta directa http://www.web.com/index.php?id=1 (por ejemplo). En cambio ocurre una cosa curiosa, copio la direccion en el front page, y en el editor se ve la imagen, pero cuando paso a modo navegador no se ve :S
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #7 (permalink)  
Antiguo 20/09/2006, 17:14
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
vale ya ta solucionado, se me olvido borrar una linea ke tenia antes... jajaja dios tantos años y aun estoy asi... xD
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
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 08:37.