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;
?>
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 de Jorge Vila
1