Foros del Web » Programando para Internet » PHP »

Decodificar y subir imagen que esta codificada en base64

Estas en el tema de Decodificar y subir imagen que esta codificada en base64 en el foro de PHP en Foros del Web. Buenas tardes Foreros!!! Vengo con una consulta... implemente hace un tiempo una subida de imagenes utilizando la funcion ReaderFile de JS, lo que hago es ...
  #1 (permalink)  
Antiguo 30/09/2012, 17:51
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Decodificar y subir imagen que esta codificada en base64

Buenas tardes Foreros!!! Vengo con una consulta... implemente hace un tiempo una subida de imagenes utilizando la funcion ReaderFile de JS, lo que hago es activar la subida cuando se suelta una imagen en un contenedor, esto lee la imagen y crea una miniatura que se muestra en la pagina mientras se sube, y lo que hago es guardar la imagen en la BD con codificacion base64, pero lo que necesito hacer ahora es mantener esta forma de subida (es decir que al soltar la imagen ya se suba...)pero que en vez de almacenar la imagen codificada en base64 en la BD, se suba la imagen al servidor y que se almacene solo la ubicacion en la BD...
Yo he realizado subidas pero con la funcion "move_uploaded_file", ahora la consulta es la siguiente, como puedo hacer para realizar la subida de imagenes que estan codificadas en base64, es decir, que cuando entre a algun producto, lea las imagenes de la BD que tiene asignadas (que actualmente estan en base64), se decodifiquen y ahi se suba la imagen al servidor y se actualice el campo de la BD por la URL donde se subio la imagen...

Luego de todos los pasos por JS, lo que realizo por PHP para guardar actualmente la imagen en base64 es esto:

Código PHP:
 public function SubirImagen($idproducto) {
        
$data $this->input->post();
        if (
$idproducto == 0) {
            
$idproducto 'null';
        }
    
        if (
$data['img'] !== null) {
            
$sql "insert imagen set content='" $data['img'] . "',usado='0',producto_id=$idproducto";
            
$this->db->query($sql);
            
$response $this->db->query("select LAST_INSERT_ID() id from imagen")->result();
            echo 
$response[0]->id;
        }
        else
            echo 
'';
    } 
He estado rabiando durante muchos dias con esto ya... les agradezco desde ya su ayuda!!!!
  #2 (permalink)  
Antiguo 01/10/2012, 06:48
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Decodificar y subir imagen que esta codificada en base64

PHP dispone de la función base64_decode(), sólo necesitas crear un archivo y escribir la salida de dicha función, así creas al imágen

Consulte el manual de PHP, funciones de I/O
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 04/10/2012, 07:23
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Respuesta: Decodificar y subir imagen que esta codificada en base64

Muchas gracias por tu respuesta, conocia la funcion base64_decode, pero estuve buscando y sigo sin entender sobre estas funciones de entrada y salida a las que te refieres... podras acercarme un poco mas a como se implementa o como deberia ser este proceso???
Te refieres a algo asi?
$img_1 = imagecreatefromstring($data);
$dst_1 = imagecreatetruecolor($w, $h);
$resized = imagecopyresized($dst_r, $img_r, 0, 0, $x, $y, $w, $h, $w, $h);


Desde ya muchas gracias!!!!

Última edición por gandalf_2706; 04/10/2012 a las 07:39
  #4 (permalink)  
Antiguo 04/10/2012, 07:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Decodificar y subir imagen que esta codificada en base64

no, esas son las de GD (que también podrían servir), me refiero a fopen, fwrite para crear físicamente el archivo, saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: base64, base64_decode, imagenbase64
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 03:40.