Hola, la verdad no entiendo tu código, no se como funciona tu libro.
Mira este codigo que tengo
Código PHP:
<?
if (isset($_SESSION['s_username'])) {
include("config_usuarios.php");
$sesion = $_SESSION['s_username'];
$con = mysql_query("SELECT * FROM usuarios WHERE username = '$sesion'") or die("Error: ".mysql_error());
$mostrar = mysql_fetch_array($con);
?>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><div align="center">
<form action="subir_imagenes.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<span class="Estilo2">Archivo</span> <br />
<input name="archivo" type="file" id="archivo" class="file" />
<br />
<br />
<input name="boton" id="boton" class="boton" type="submit" value="Subir Imagen!" />
</form>
</div></td>
</tr>
<tr>
<td style="border: 1px solid #0099FF; background-color: #88CFFF"><b>Solo se admiten archivo con formato JPG, GIF y PNG.</b> <br />
Tamaño máximo aceptado:<span style="color:#FF0000"> 1MB</span>.</td>
</tr>
</table>
<br>
<br>
<?
if(isset($_POST['boton'])){
$tipo = $_FILES['archivo']['type'];
$tamaño = $_FILES['archivo']['size'];
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
if($HTTP_POST_FILES['archivo']['size'] < 1000000) {
if($tipo=="image/gif" || $tipo=="image/jpeg" || $tipo=="image/png" || $tipo=="image/jpg" || $tipo=="image/pjpeg" || $tipo=="image/x-png") {
$usuario = $mostrar[username];
$info = pathinfo($_FILES['archivo']['name']);
$aleatorio = substr(md5(uniqid(rand())),0,10).".".strtolower($info['extension']);
$imagen = $usuario."_".$aleatorio;
copy($_FILES['archivo']['tmp_name'], $imagen);
$query = "INSERT INTO imagenes (username, imagen) VALUES('$usuario', '$imagen')";
mysql_query($query) or die(mysql_error());
$subio = true;
}
}
}
if($subio) {
echo '<img src="'.$imagen.'"><br><br><a href="index.php">Volver</a>';
} else {
echo "El archivo no se pudo enviar. Recuerda que debe ser un archivo JPG, GIF o PNG y el tamaño no puede exceder 1MB";
}
}
}else{
echo "Tu no estas autentificado. No puedes entrar aqui!!";
}
?>
Lo que hace es simple, hay 2 tablas creadas:
table "usuarios"
id | username | password
table "imagenes"
id | username | imagen
El usuario al ingresar se crea una sesion con el nombre del usuario, ejemplo "pepe". Éste debe de loguearse para entrar, sino no lo deja subir imágenes.
Al querer subir una imaegn la busca en su PC y apreta el boton "subir".
Mientras se procesa la info, ve si el archivo es mayor a 1MB y/o no es formato JPG, GIF o PNG tira una advertencia. Si cumple con las caracteristica se genera automaticamente un nombre a la imagen, donde primero esta el nombre de usuario y dps un nombre aleatorio con md5().
Ejemplo: pepe_4fsaf65sa.jpg
Además transforma todo caracter mayuscula de la extencion en miniscula.
Esta imagen se aloja en X directorio con su nuevo nombre y ese nombre se registra en la tabla "imagenes", que ademas se registra el nombre de ususario en el campo username.
¿para que es eso?
Para cuando crees un archivo "album" donde el ususario pueda ver todas las imagenes alojada que tiene, compare con WHERE el usuario y que solo muestre las imagenes del usuario.
Ejemplo: se registran 3 imagenes de pepe.
cuando pepe quiere ver sus imagenes:
Código PHP:
$sesion = $_SESSION['s_username'];
$con = mysql_query("SELECT * FROM imagenes WHERE username = '$sesion'");
$mostrar = mysql_num_rows($con);
while (mysql_fetch_array($cin)) {
echo "<img src='directorio/".$mostrar[imagen]."'><br><br>";
Espero que hayas entendido, sino manda privado.