Por ejemplo estaba pensando en agregar en la tabla de imagen un campo que se llame usuario, entonces una ves guardada la imagen y subida a la vista, cerramos sesion y al abrir la sesion de ese mismo usuario comparamos el K_USERNAME de la session con el usuario que subio la imagen. y coincide se deberia ver la imagen.
el codigo anda bien. Lo que no puedo hacer es esta comparacion. No me funciona habia pensado algo asi :
SELECT * FROM imagephp WHERE usuario='".$_SESSION['k_username']."' pero no me funciona. muchas gracias de antemano.
Código PHP:
########## imagen_agregar.php ##########
<html>
<body>
<?php
# Conectamos con la base de datos
$link=mysql_connect("localhost","root","123456");
mysql_select_db("imagenes",$link);
//echo "<BR>".$_FILES["userfile"]["name"]; //nombre del archivo
//echo "<BR>".$_FILES["userfile"]["type"]; //tipo
//echo "<BR>".$_FILES["userfile"]["tmp_name"]; //nombre del archivo de la imagen temporal
//echo "<BR>".$_FILES["userfile"]["size"]; //tamaño
# Comprovamos que se haya subido un fichero
if (is_uploaded_file($_FILES["userfile"]["tmp_name"]))
{
# Cogemos el formato de la imagen
if ($_FILES["userfile"]["type"]=="image/jpeg" || $_FILES["userfile"]["type"]=="image/pjpeg" || $_FILES["userfile"]["type"]=="image/gif" || $_FILES["userfile"]["type"]=="image/bmp" || $_FILES["userfile"]["type"]=="image/png")
{
# Cogemos la anchura y altura de la imagen
$info=getimagesize($_FILES["userfile"]["tmp_name"]);
//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
# Escapa caracteres especiales
$imagenEscapes=mysql_real_escape_string(file_get_contents($_FILES["userfile"]["tmp_name"]));
# Agregamos la imagen a la base de datos
$result=mysql_query("INSERT INTO `imagephp` (anchura,altura,tipo,imagen) VALUES (".$info[0].",".$info[1].",'".$_FILES["userfile"]["type"]."','".$imagenEscapes."')",$link);
# Cogemos el identificador con que se ha guardado
$id=mysql_insert_id();
# Mostramos la imagen agregada
echo "Imagen agregada con el id ".$id."<BR>";
echo "<img src='imagen_mostrar.php?id=".$id."' width='".$info[0]."' height='".$info[1]."'>";
}else{
$error="El formato de archivo tiene que ser JPG, GIF, BMP o PNG.";
}
}else{
$error="No ha seleccionado ninguna imagen...";
}
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">
</form>
</body>
</html>
Código PHP:
<?php
########## imagen_mostrar.php ##########
# deve recibir el id de la imagen a mostrar
#Conectamos con la base de datos
$link=mysql_connect("localhost","root","123456");
mysql_select_db("imagenes",$link);
# Buscamos la imagen a mostrar
$result=mysql_query("SELECT * FROM `imagephp` WHERE id=".$_GET["id"],$link);
$row=mysql_fetch_array($result);
# Mostramos la imagen
header("Content-type:".$row["tipo"]);
echo $row["imagen"];
?>
La base de datos utilizada para el ejemplo se llama imagenes
CREATE TABLE IF NOT EXISTS `imagephp` (
`id` smallint(6) NOT NULL auto_increment,
`anchura` smallint(6) NOT NULL,
`altura` smallint(6) NOT NULL,
`tipo` char(15) NOT NULL,
`imagen` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
*/