Insertar imagen base datos

Hola, necesito insertar una imagen desde un formulario en una base de datos mysql. He buscado algunos manuales pero no hay mucho al respecto estoy probando con este código pero no funciona. Cualquier ayuda que puedas darme estaría muy agradecido ya que lo necesito con urgencia.
CREATE TABLE `imagenes` (
`nombre` VARCHAR(100) ,
`imagen` LONGBLOB NOT NULL
);
subir.php
<form method="post" action="guardar.php" enctype="multipart/form-data">
Nombre: <input type="text" name="nombre" maxlength="100"><br>
Imagen: <input type="file" name="imagen" size="40"><br>
<p><input type="submit" name="submit" value="Subir">
</form>
guardar.php
<?
// Configurar las dos lineas siguientes
mysql_connect("servidor","usuario","contraseña");
mysql_select_db("base_de_datos");
$imagen = addslashes(fread(fopen($imagen, "r"), filesize($imagen)));
$nombre = $_POST["nombre"];
mysql_query("INSERT INTO imagenes (nombre,imagen) VALUES ('$nombre','$imagen')");
?>Se ha subido la imagen a la base de datos, puedes verla pulsando <a href="ver.php?nombre=<? Echo $nombre ?>">aquí</a>
ver.php
<?
$nombre = $_GET['nombre'];
// Configurar las dos lineas siguientes
@mysql_connect("servidor","usuario","contraseña");
@mysql_select_db("base_de_datos");
$query = "SELECT imagen FROM imagenes WHERE nombre = '$nombre'";
$result = @mysql_query($query);
$imagen = @mysql_result($result,0);
Header( "Content-type: image/jpeg");
echo $imagen;
?>

1 Respuesta

Respuesta
1
Hombre, lo habitual para guardar imágenes es lo que comentas, guardar en un campo el nombre de la imagen, y simplemente guardar la imagen en el disco del servidor, más o menos oculta, eso ya tu lo ves.
Creo que es la opción más rápida, barata, pero siempre en función de lo que te estimes las imágenes.
Espero haberte orientado!, no olvides cerrar la pregunta para que otros me puedan preguntar!.
Debes de tener tus motivos para insertar gráficos en la BD, porque te advierto que consume mucho procesador y ocupa mucho espacio, pero bueno, te paso un par de sitios donde lo explican detalladamente. En el de DW tendrás que registrarte, pero es gratuito:
http://www.spoono.com/php/tutorials/tutorial.php?url=image2
http://dmxzone.com/showdetail.asp?TypeId=26&NewsId=6282
Espero haberte orientado!, no olvides cerrar la pregunta para que otros me puedan preguntar!.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas