DUDA: como insertar una imagen en la base de datos y cargarlas usando php y sql?

Iniciado por flowboss16, 9 Mayo 2015, 22:36 PM

0 Miembros y 1 Visitante están viendo este tema.

flowboss16

Hola tengo un problema y es que no se como como insertar una imagen en la base de datos y cargarlas usando php y mysql. Utilizo dreamweaver ayudenme porfa.

poco_digo

Hola el proceso a seguir es convertir la imagen a datos binarios y luego meterla en un campo de la tabla de la DB
Debes tener instalada/habilitada la extension en PHP sobre GD
Dependiendo del formato de la imagen debes usar la función corrrespondiente en GD; http://mx.php.net/manual/es/ref.image.php
ejemplo de una jpg:

Código (php) [Seleccionar]
$imagen = imagecreatefromjpeg('imagen.jpg');
ob_start();
imagejpeg($imagen);
$jpg = ob_get_contents();
ob_end_clean();


Ahora la pasamos del binario a la tabla con una consulta en mysql:

Código (php) [Seleccionar]
$jpg = str_replace('##','##',mysql_escape_string($jpg));
$result = mysql_query("INSERT INTO tu_tabla SET Imagen='$jpg'");


Vamos a extraerla: pasamos la imágen a una variable y para mostrarla le decimos al explorador que el contenido a mostrar es una imagen jpg

Código (php) [Seleccionar]
$imagebin = mysql_query("SELECT Imagen FROM tu_tabla WHERE Id_imagen=1");
$image_array = mysql_fetch_array($imagebin);
header("Content-Type: image/jpg");
echo $image_array[0];


Espero haberte ayudado

EFEX

GITHUB 

poco_digo

Cita de: EFEX en  9 Mayo 2015, 23:15 PM
Mejor practica es no guardar imagenes en la base de datos..
Exacto, pero tambien hay que saber como hacerlo, y como gestionarlo para no quedarse sin memoria.

freespace16

Como Se Le Hace Para Guardarla n Una Ruta??

//Guardar imagen
if(is_uploaded_file($_FILES['fleImagen']['tmp_name'])) { // verifica haya sido cargado el archivo
$ruta= "profile_images/".$_FILES['fleImagen']['name'];
move_uploaded_file($_FILES['fleImagen']['tmp_name'], $ruta);
}
  $insertSQL = sprintf("INSERT INTO profile_images (imagen) VALUES (%s)",
                       GetSQLValueString($ruta, "text"));



Uso este codigo pero me sale este error:

Notice: Undefined index: fleImagen in C:\xampp\htdocs\ieccnetwork\log_user\profile_image.php on line 41

Notice: Undefined variable: ruta in C:\xampp\htdocs\ieccnetwork\log_user\profile_image.php on line 46
Column 'imagen' cannot be null