archivo adjunto con php

angelica
08 de Junio del 2002
Como puedo pasar del directorio a donde me deja el archivo en el serv a una BD mi archivo...por favoooorrrrrrrrrrrrrrrr ayudenme

david carrero
08 de Junio del 2002
Te vale esto

Para poder utilizar este código, necesitais disponer de una base de datos denominada 'prueba', con una tabla denominada 'prueba'.
Los campos de dicha base de datos son:
id - smallint (autonumerico)
anchura - smallint
altura - smallint
tipo - char(15)
imagen - blob

Se precisan dos archivos: imagen_agregar.php y imagen_mostrar.php

<?
########## imagen_agregar.php ##########
?>
<html>
<body>
<?
$link=mysql_connect("localhost","usuario","password");
mysql_select_db("prueba",$link);
//echo "<BR>".$userfile; //nombre del archivo de la imagen temporal
//echo "<BR>".$userfile_name; //nombre del archivo
//echo "<BR>".$userfile_size; //tamaño
//echo "<BR>".$userfile_type; //tipo
if ($userfile!="none" && $userfile!="")
{
if ($userfile_type=="image/jpeg" || $userfile_type=="image/pjpeg" || $userfile_type=="image/gif" || $userfile_type=="image/bmp")
{
$info=getimagesize($userfile);
//echo "<BR>".$info[0]; //anchura
//echo "<BR>".$info[1]; //altura
//echo "<BR>".$info[2]; //1-GIF, 2-JPG, 3-PNG
//echo "<BR>".$info[3]; //cadena de texto para el tag <img
$x=addslashes(fread(fopen($userfile,"r"),filesize($userfile)));

//agregamos los campos a la tabla 'Programadores'
$result=mysql_query("INSERT INTO prueba (anchura,altura,tipo,imagen) VALUES (".$info[0].",".$info[1].",'$userfile_type','$x')",$link);
$id=mysql_insert_id();
echo "Imagen agregada con el id ".$id."<BR>";
echo "<img src='imagen_mostrar.php?id=".$id."'>";
}else{
$error="El tipo de archivo tienes que ser JPG, GIF o BMP.";
}
}else{
if ($userfile!="")
$error="No ha seleccionado ninguna imagen...";
}
mysql_close($link);
if ($error!="")
{
echo "</center><P><font face='Arial' size=2 color='#ff0000'> Error: ".$error."</font><br>";
}
?>

<form ENCTYPE="multipart/form-data" action="imagen_agregar.php" method="POST">
<INPUT NAME="userfile" TYPE="file">
<p><input type="submit" value="Guardar Imagen" class="boton">
</form>
</body>
</html>


<?
########## imagen_mostrar.php ##########
# deve recibir el id de la imagen a mostrar
# http://www.lawebdelprogramador.com
$link=mysql_connect("localhost","usuario","password");
mysql_select_db("prueba",$link);
//buscamos el banner a mostrar
$result=mysql_query("SELECT * FROM prueba WHERE id=$id",$link);
$row=mysql_fetch_array($result);
header("Content-type:".$row["tipo"]);
echo $row["imagen"];
?>