Como almacenar una imagen en mysql?



   AUTOR PREGUNTA

Publicado 27 febrero 2014 - 22:24

Como podría guardar las imágenes de su página web dentro de su base de datos mysql, he intentado utilizando blob pero no funciona.


¿Tienes la misma pregunta? Yo también

 

Publicado 27 febrero 2014 - 22:30

Para guyarar una imagen en una tabla mysql podre el siguiente ejemplo
Creamos una tabla
CREATE TABLE imagenes (
id INT NOT NULL DEFAULT 0 auto_increment,
imagen LONGBLOB,
tipo VARCHAR(255),
PRIMARY KEY (id)
);

Luego en php

// Abro el archivo de imagen ya subida  a un directorio para cargar sus contenidos
$archivo = 'images/foto01.jpg';

$fp = fopen ($archivo, 'r');
if ($fp){
$datos = fread ($fp, filesize ($archivo)); // cargo la imagen y averiguo sus datos binarios
fclose($fp);

// averiguo su tipo mime
$tipo_mime = 'image/jpeg';
$isize = imagesize ($archivo);
if ($isize)
$tipo_mime = $isize['mime'];

// La guardamos en la BD como datos binarios
$sql = "INSERT INTO imagenes (imagen, tipo) VALUES ('$datos', '$tipo_mime');