Foros del Web » Programando para Internet » PHP »

Imagenes Binarias y mySQL

Estas en el tema de Imagenes Binarias y mySQL en el foro de PHP en Foros del Web. Amigos, Los molesto una vez más, esta vez con un problema a la hora de subir imagenes binarias a la mysql. Tengo un formulario con ...
  #1 (permalink)  
Antiguo 14/03/2009, 17:15
 
Fecha de Ingreso: enero-2007
Ubicación: Argentina
Mensajes: 28
Antigüedad: 17 años, 2 meses
Puntos: 0
Busqueda Imagenes Binarias y mySQL

Amigos,

Los molesto una vez más, esta vez con un problema a la hora de subir imagenes binarias a la mysql.

Tengo un formulario con este INPUT

Código HTML:
<INPUT type="file" name="archivo" size="30"> 
Hasta ahi, todo bien...

Al archivo que actualiza la mySQL, le hice estas modificaciones fruto de un tutorial que leí en forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775

Código PHP:
<?php

$binario_nombre_temporal
=$_FILES['archivo']['tmp_name'] ;

// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal)));

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];


function 
Conectarse(){ 

    if (!(
$dbh mysql_connect("localhost""wifienco_depto""password"))){ 
        echo 
"Error conectando a la base de datos."
        exit(); 
    } 



    if(!(
mysql_select_db("wifienco_depto"$dbh))){ 
        echo 
"Error seleccionando la base de datos."
        exit(); 
    } 




    
//fecha PHP
    
$fechadate("D M j G:i:s T Y"); 


        
    
$sql "INSERT INTO buscadores (soy,nombre,edad,ocupacion,telefono,telmostrar,email, password,barrio,minimopago,maximopago,porrenta,portiempo1,portiempo2,fechamudanza1,fechamudanza2,fechamudanza3,archivo_binario,archivo_nombre,archivo_peso,archivo_tipo,comentarios,ip,fecha)";


    
$sql .= "VALUES ('".$_POST["soy"]."','".$_POST["nombre"]."', '".$_POST["edad"]."', '".$_POST["ocupacion"]."', '".$_POST["telefono"]."', '".$_POST["telmostrar"]."', '".$_POST["email"]."', '".$_POST["password"]."', '".$_POST["barrio"]."', '".$_POST["minimopago"]."', '".$_POST["maximopago"]."', '".$_POST["porrenta"]."', '".$_POST["portiempo1"]."', '".$_POST["portiempo2"]."','".$_POST["fechamudanza1"]."', '".$_POST["fechamudanza2"]."', '".$_POST["fechamudanza3"]."','$binario_contenido', '$binario_nombre', '$binario_peso','$binario_tipo','".$_POST["comentarios"]."','".$_SERVER['REMOTE_ADDR']."', '$fecha')";


    
    if(
$result mysql_query($sql)){
        echo 
"";
    }else{
        die(
mysql_error());
    }
}


Conectarse(); 
?>
Antes no subia imagenes por lo cual no tenia algunos campos en mi base de datos, por ello, cree estos campos:

archivo_binario blob BINARY
archivo_nombre varchar(255)
archivo_peso varchar(15)
archivo_tipo varchar(15)

pero cuando intento subir una imagen por medio del formulario no la sube

y en phpmyadmin veo lo siguiente:

archivo_binario: [BLOB - 0 Bytes]
archivo_nombre: (vacio)
archivo_peso: (vacio)
archivo_tipo: (vacio)

El resto de la base de datos si lo escribe bien y completa todo...

Donde le erré? :eek:
  #2 (permalink)  
Antiguo 14/03/2009, 19:10
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Imagenes Binarias y mySQL

¿Pusiste el enctype="multipart/form-data" en la etiqueta del formulario?
  #3 (permalink)  
Antiguo 14/03/2009, 20:37
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Imagenes Binarias y mySQL

rodrigosars:

Las imagenes son binarias, las abras con "r" o con "rb"
pero es mas recomendable utilizar "rb" para evitar
errores.
Y segun entiendo son guardadas en binario a menos
que ha alguien se le ocurra guardarlas como texto
lo que crearia algo fuera de lo normal.

Saludos
Franco
  #4 (permalink)  
Antiguo 15/03/2009, 20:22
 
Fecha de Ingreso: enero-2007
Ubicación: Argentina
Mensajes: 28
Antigüedad: 17 años, 2 meses
Puntos: 0
Cita:
Iniciado por Ronruby Ver Mensaje
¿Pusiste el enctype="multipart/form-data" en la etiqueta del formulario?
Si, esta puesto eso.

Cita:
Iniciado por franco190453 Ver Mensaje
rodrigosars:

Las imagenes son binarias, las abras con "r" o con "rb"
pero es mas recomendable utilizar "rb" para evitar
errores.
Y segun entiendo son guardadas en binario a menos
que ha alguien se le ocurra guardarlas como texto
lo que crearia algo fuera de lo normal.

Saludos
Franco
El problema es que no las carga en la base de datos, queda en blanco:

archivo_binario: [BLOB - 0 Bytes]
archivo_nombre: (vacio)
archivo_peso: (vacio)
archivo_tipo: (vacio)


Gracias Franco de antemano.

Última edición por GatorV; 15/03/2009 a las 22:26
  #5 (permalink)  
Antiguo 15/03/2009, 22:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Imagenes Binarias y mySQL

El problema es que las variables las defines fuera de tu funcion Conectarse(), entonces eso causa que esten vacias al llamar a la funcion.

Saludos.
  #6 (permalink)  
Antiguo 16/03/2009, 20:13
 
Fecha de Ingreso: enero-2007
Ubicación: Argentina
Mensajes: 28
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Imagenes Binarias y mySQL

Solucionado.

Muchas Gracias !!! :D
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 09:46.