Foros del Web » Programando para Internet » PHP »

Consultar Imagen de BD Mysql [no muestra imagen]

Estas en el tema de Consultar Imagen de BD Mysql [no muestra imagen] en el foro de PHP en Foros del Web. hola a todos tengo lo siguiente mi Base de datos con * id (varchar) * Imagen (Blob) mi formulario Código HTML: <form method= "get" > ...
  #1 (permalink)  
Antiguo 05/04/2010, 08:31
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Exclamación Consultar Imagen de BD Mysql [no muestra imagen]

hola a todos tengo lo siguiente

mi Base de datos con
* id (varchar)
* Imagen (Blob)

mi formulario
Código HTML:
<form method="get">

         <td><label>
        <input type="text" name="id" />
        </label></td>
         <td><label>
        <input type="file" name="oficio_digital" />
        </label></td>
  <button type="submit">Guardar</button>

</form> 

mi .php para guardar la imagen

me conecto a la BD


Almacenar imagen en la BD
Código PHP:
$id $_GET['id'];

$oficio_digital $_GET['oficio_digital'];

$imagen imagecreatefromjpeg($oficio_digital);
ob_start();
imagejpeg($oficio_digital);
$jpg ob_get_contents();
ob_end_clean();

$jpg str_replace('##','\#\#',mysql_escape_string($jpg));
$query "insert into oficio values('$id','$jpg');"
Extraer la imagen de la BD y mostrarla en el navegador

Código PHP:
$query "select oficio_digital from oficio where id = '$id';";
                
$resultado mysql_query($query,$con) or die("Error al seleccionar la BBDD <br>MySQL dice: ".mysql_error());


                
$imagen mysql_fetch_array($resultado);
                
                
Header("Content-type: image/jpeg"); 
                echo 
$imagen[0]; 
ahora... el problema esta en que no me muestra la imagen sino la ruta ... como hago para que me muestre la imagen, considero que la estoy guardando bien porque veo el registro en la base de datos y me muestra esto ' [BLOB - 150Bytes] ' entonces porque cuando la voy a consultar no la muestra en el navegador? ayudenme por favor de antemano gracias
__________________
Esfuerzate y Se Valiente, No Temas Ni Desmayes, Dios estará con nosotros a dondequiera que vayamos! Josué 1:9

Última edición por ricardoernes; 05/04/2010 a las 08:46
  #2 (permalink)  
Antiguo 05/04/2010, 08:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

no, tu error esta en usar $_GET para recibir la imagen... y eso está muy mal...

para copiar una imagen que se sube por formulario debes usar la variable $_FILES, además el método del formulario debe ser post

por favor, lee lo siguiente:
http://php.net/manual/en/features.file-upload.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/04/2010, 08:42
Avatar de mauroave  
Fecha de Ingreso: julio-2009
Mensajes: 50
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

Hola amigo, primero un par de preguntas:

Porque recibes asi la imagen?

Código PHP:
$oficio_digital $_GET['oficio_digital']; 
cuando puedes hacerlo con $_FILES, que es la forma de obtener un archivo que fue subido por un input de tipo file:

Código PHP:
$oficio_digital $_FILES['oficio_digital']; 
Lee bien sobre $_FILES, porque tiene opciones, puedes obtener el nombre del archivo, el tamaño, la ruta donde se guarda el temporal para ese archivo, etc.

Una vez que has subido ese archivo (imagen) al servidor, te aconsejo que en la base de datos guardes solo una ruta, como varchar. Y listo. Lo que haces despues es mostrar la imagen con <img src="ruta guardada en la bd">.

Se entiende?

Saludos cordiales
  #4 (permalink)  
Antiguo 05/04/2010, 08:52
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Exclamación Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

Cita:
Iniciado por pateketrueke Ver Mensaje
no, tu error esta en usar $_GET para recibir la imagen... y eso está muy mal...

para copiar una imagen que se sube por formulario debes usar la variable $_FILES, además el método del formulario debe ser post

por favor, lee lo siguiente:
http://php.net/manual/en/features.file-upload.php
ya le coloque el POST y el $_FILE e igual no muestra nada
__________________
Esfuerzate y Se Valiente, No Temas Ni Desmayes, Dios estará con nosotros a dondequiera que vayamos! Josué 1:9
  #5 (permalink)  
Antiguo 05/04/2010, 08:53
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

Cita:
Iniciado por mauroave Ver Mensaje
Hola amigo, primero un par de preguntas:

Porque recibes asi la imagen?

Código PHP:
$oficio_digital $_GET['oficio_digital']; 
cuando puedes hacerlo con $_FILES, que es la forma de obtener un archivo que fue subido por un input de tipo file:

Código PHP:
$oficio_digital $_FILES['oficio_digital']; 
Lee bien sobre $_FILES, porque tiene opciones, puedes obtener el nombre del archivo, el tamaño, la ruta donde se guarda el temporal para ese archivo, etc.

Una vez que has subido ese archivo (imagen) al servidor, te aconsejo que en la base de datos guardes solo una ruta, como varchar. Y listo. Lo que haces despues es mostrar la imagen con <img src="ruta guardada en la bd">.

Se entiende?

Saludos cordiales
ya le coloque el $_FILE e igual nada... pero si guardo la ruta y la imagen se pierde por X motivo... por eso es que guardo mejor la imagen en la bd
__________________
Esfuerzate y Se Valiente, No Temas Ni Desmayes, Dios estará con nosotros a dondequiera que vayamos! Josué 1:9
  #6 (permalink)  
Antiguo 05/04/2010, 08:54
Avatar de mauroave  
Fecha de Ingreso: julio-2009
Mensajes: 50
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

no te parece usar el metodo que te explique? es mas sencillo, solo manejas rutas en la bd, y las muestras en el formulario usando <img="..."></img>
  #7 (permalink)  
Antiguo 05/04/2010, 09:00
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Pregunta Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

Cita:
Iniciado por mauroave Ver Mensaje
no te parece usar el metodo que te explique? es mas sencillo, solo manejas rutas en la bd, y las muestras en el formulario usando <img="..."></img>

hola.... tengo es error en guardar la IMAGEN, ya probre guardandola pero desde el manejador de la la BD directamnt y luego la consulta y me la muestra perfectamente......... tendra alguna forma de guardar la imagen de forma correcta? gracias
__________________
Esfuerzate y Se Valiente, No Temas Ni Desmayes, Dios estará con nosotros a dondequiera que vayamos! Josué 1:9
  #8 (permalink)  
Antiguo 05/04/2010, 09:05
Avatar de mauroave  
Fecha de Ingreso: julio-2009
Mensajes: 50
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

y si, puede pasar eso, pero tene en cuenta que las imagenes las subis a una ruta del servidor que vos elijas, es dificil que alguien te borre archivos en el servidor. Es tu eleccion. Yo siempre he desarrollado los uploads de imagen con este metodo y no me ha traido problemas, por eso lo comparto con vos.

Saludos cordiales!
  #9 (permalink)  
Antiguo 05/04/2010, 09:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

ricardoernes, por favor... lee el enlace que coloque, no esta de adorno!!

y primero procura hacer un upload que funcione, y después adaptalo a tu script... así de simple (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 05/04/2010, 09:11
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Pregunta Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

Cita:
Iniciado por mauroave Ver Mensaje
y si, puede pasar eso, pero tene en cuenta que las imagenes las subis a una ruta del servidor que vos elijas, es dificil que alguien te borre archivos en el servidor. Es tu eleccion. Yo siempre he desarrollado los uploads de imagen con este metodo y no me ha traido problemas, por eso lo comparto con vos.

Saludos cordiales!
muchas gracias... y como? guardo la ruta y ya? porque cabe destacar que la imagen la cargara el usuario desde el directorio que el quiera
__________________
Esfuerzate y Se Valiente, No Temas Ni Desmayes, Dios estará con nosotros a dondequiera que vayamos! Josué 1:9
  #11 (permalink)  
Antiguo 05/04/2010, 09:21
Avatar de mauroave  
Fecha de Ingreso: julio-2009
Mensajes: 50
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

Por supuesto, mediante el input file, el usuario puede cargar una imagen de donde el quiera. Pero luego, lo que tu haces es copiar esa imagen que el usuario ha subido a una carpeta especifica en tu servidor. Entonces luego tu guardas en la bd la ruta a esa carpeta especifica. Me explico? Te recomiendo que leas sobre $_FILE. Si sigues teniendo dudas sobre copiar archivos al servidor, te paso un codigo que tengo hecho y está funcionando a la perfeccion. Pero te recomiendo que leas, así te va a ser mas facil aprender.

Saludos cordiales
  #12 (permalink)  
Antiguo 05/04/2010, 09:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consultar Imagen de BD Mysql [no muestra imagen]

a ver, ricardoernes, ¿si leíste el enlace al manual??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 05/04/2010, 09:41
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Cita:
Iniciado por pateketrueke Ver Mensaje
a ver, ricardoernes, ¿si leíste el enlace al manual??
ando en eso pero de verdad no entiendo mucho que se diga ese codigo, primera vez que trabajo con los $_FILE por eso que no comprendo mucho y de paso con el ingles no me la llevo mucho

y he tratado de conseguir algunas similitudes con mi codigo pero cuando creo encontrarlas de ahi en adelante cambia radicalmento todo

Cita:
Iniciado por mauroave Ver Mensaje
Por supuesto, mediante el input file, el usuario puede cargar una imagen de donde el quiera. Pero luego, lo que tu haces es copiar esa imagen que el usuario ha subido a una carpeta especifica en tu servidor. Entonces luego tu guardas en la bd la ruta a esa carpeta especifica. Me explico? Te recomiendo que leas sobre $_FILE. Si sigues teniendo dudas sobre copiar archivos al servidor, te paso un codigo que tengo hecho y está funcionando a la perfeccion. Pero te recomiendo que leas, así te va a ser mas facil aprender.

Saludos cordiales
hola... como haria para ir guardando la imagen en el servidor y luego guardar la url como tu dices? por favor ayudame... gracias de antemano

Cita:
Iniciado por ricardoernes Ver Mensaje
hola... como haria para ir guardando la imagen en el servidor y luego guardar la url como tu dices? por favor ayudame... gracias de antemano
.................................................. .................................................. .


listo.... solucionado.. muchismas gracias por su ayuda!!!! URL en BD e imagen en server
__________________
Esfuerzate y Se Valiente, No Temas Ni Desmayes, Dios estará con nosotros a dondequiera que vayamos! Josué 1:9

Última edición por GatorV; 05/04/2010 a las 20:55

Etiquetas: bd, consultar, muestra, mysql
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:55.