guardar imagen y extraerla con php,mysql
Publicado por Etzal (6 intervenciones) el 27/11/2006 15:16:32
Hola he encontrado varios ejemplos de como guardar una imagen en la base de datos usando php y mysql y despues extraerla para mostrarla en el navegador pero no me sale quisiera que me ayudaran. estos son los script en php.
subir_foto.htm
<body>
<form enctype="multipart/form-data" action="guardar_archivo.php" method="post">
Descripción <input type="text" name="titulo" size="30">
Ubicación <input type="file" name="archivito">
<input type="submit" value="Enviar archivo">
</form>
</body>
guardar_archivo.php
<body>
<?php /* guardar_archivo.php */
$conn = mysql_connect("localhost","root");
mysql_select_db("nuevo");
$archivo = $_FILES["archivito"]["tmp_name"];
//$tamanio = $_FILES["archivito"]["size"];
$tipo = $_FILES["archivito"]["type"];
$nombre = $_FILES["archivito"]["name"];
$titulo = $_POST["titulo"];
if ( $archivo != "none" )
{
$image = @imagecreatefromjpeg('$archivo');
//header("Content-type: image/jpeg");
ob_start();
imagejpeg($image);
//imagedestroy($image);
$jpg = ob_get_contents();
ob_end_clean();
$jpg = str_replace('##','##',mysql_escape_string($jpg));
$qry = "INSERT INTO archivos VALUES
(0,'$nombre','$titulo','$jpg','$tipo')";
mysql_query($qry);
if(mysql_affected_rows($conn) > 0)
print "Se ha guardado el archivo en la base de datos.";
else
print "NO se ha podido guardar el archivo en la base de datos.";
}
else
print "No se ha podido subir el archivo al servidor"; ?>
</body>
verfoto.php
<body>
<?php
$link= mysql_connect("localhost","root","") or die ("No conecto");
mysql_select_db("nuevo");
$var = 1;
$consul ="SELECT titulo, contenido FROM archivos WHERE id='$var'";
$res=mysql_query($consul,$link);
$filas=mysql_fetch_array($res);
echo $filas['titulo'];
echo $var;
header("Content-Type: image/jpeg");?>
<img src="<?php echo $filas['contenido']; ?>" width="280" height="420">
</body>
este ultimo archivo es en el cual selcciono la foto a mostrar suponiendo q la id es 1, junto con su nombre pero no me la muestra si alguien sabe como porfavor que me diga mi error se los agradecere mucho y mi tabla es la siguiente
CREATE TABLE archivos(id int not null auto_increment primary key,nombre varchar(50),titulo varchar(50),contenido mediumblob,tipo varchar(50));
subir_foto.htm
<body>
<form enctype="multipart/form-data" action="guardar_archivo.php" method="post">
Descripción <input type="text" name="titulo" size="30">
Ubicación <input type="file" name="archivito">
<input type="submit" value="Enviar archivo">
</form>
</body>
guardar_archivo.php
<body>
<?php /* guardar_archivo.php */
$conn = mysql_connect("localhost","root");
mysql_select_db("nuevo");
$archivo = $_FILES["archivito"]["tmp_name"];
//$tamanio = $_FILES["archivito"]["size"];
$tipo = $_FILES["archivito"]["type"];
$nombre = $_FILES["archivito"]["name"];
$titulo = $_POST["titulo"];
if ( $archivo != "none" )
{
$image = @imagecreatefromjpeg('$archivo');
//header("Content-type: image/jpeg");
ob_start();
imagejpeg($image);
//imagedestroy($image);
$jpg = ob_get_contents();
ob_end_clean();
$jpg = str_replace('##','##',mysql_escape_string($jpg));
$qry = "INSERT INTO archivos VALUES
(0,'$nombre','$titulo','$jpg','$tipo')";
mysql_query($qry);
if(mysql_affected_rows($conn) > 0)
print "Se ha guardado el archivo en la base de datos.";
else
print "NO se ha podido guardar el archivo en la base de datos.";
}
else
print "No se ha podido subir el archivo al servidor"; ?>
</body>
verfoto.php
<body>
<?php
$link= mysql_connect("localhost","root","") or die ("No conecto");
mysql_select_db("nuevo");
$var = 1;
$consul ="SELECT titulo, contenido FROM archivos WHERE id='$var'";
$res=mysql_query($consul,$link);
$filas=mysql_fetch_array($res);
echo $filas['titulo'];
echo $var;
header("Content-Type: image/jpeg");?>
<img src="<?php echo $filas['contenido']; ?>" width="280" height="420">
</body>
este ultimo archivo es en el cual selcciono la foto a mostrar suponiendo q la id es 1, junto con su nombre pero no me la muestra si alguien sabe como porfavor que me diga mi error se los agradecere mucho y mi tabla es la siguiente
CREATE TABLE archivos(id int not null auto_increment primary key,nombre varchar(50),titulo varchar(50),contenido mediumblob,tipo varchar(50));
Valora esta pregunta


0