Subir y Mostrar imagenes con php y mysql :)

Buenas tardes al foro, eh estado buscando y leyendo y octube este codigo, pero como no estoy muy familiarizado con eso de subidas de imagenes me pregunto comoinsertar en una divicion la imagen, lo podria hacer con un while y q me devuelva las fotos encontrada mediante array??¿? y al ser montada la resolucion max sea de 300*300px aqui esta el codigo todo me funciona a la perfe pero como le agrego eso q pido..^^

Guardar.php

<?php
 
 
if (is_uploaded_file($_FILES['archivo']['tmp_name']) === TRUE)
 
{
 
$imagen = mysql_escape_string(join(@file($_FILES['archivo']['tmp_name']))); 
 
$nombre = mysql_escape_string($_POST['nombre']);
 
$tipo = $_FILES['archivo']['type'];
 
 
@mysql_connect('localhost','root','0000') or die('No se ha podido conectar el servidor de datos');
 
@mysql_select_db('imagenes') or die('La base de datos es inexistente');
 
    if (isset($nombre))
 
    {
 
        if (@mysql_result(@mysql_query("SELECT nombre FROM subir_imagenes WHERE nombre='$nombre'"),'nombre')) die('El nombre de la imagen esta actualmente en uso');
 
 }
@mysql_query("INSERT INTO subir_imagenes(nombre,tipo,imagen) VALUES('$nombre','$tipo','$imagen')");
 
$id = @mysql_insert_id();
 
echo '

<center><p>Puede verla pulsando <a href="imagen.php?id=' . $id . '">aqu&iacute;</a></p></center>

';
 
exit;
 
}
 
else
 
{
 
echo '
<form enctype="multipart/form-data" method="post" action="' . $_SERVER[SCRIPT_NAME] . '">
Nombre:&nbsp;<input type="text" name="nombre" maxlength="256" />&nbsp;(Opcional)
<br />
Archivo:&nbsp; <input type="file" name="archivo" />
<br />
<input type="submit" />
</form>
';
 
}

?>

Imagen.php
<?php
 

@mysql_connect('localhost','root','0000') or die('No se puede conectar con el servidor mysql'); 
 
@mysql_select_db('imagenes') or die('No se puede seleccionar la base de datos especificada'); 
 
$datos = ($_GET['id']) ? 'id=' . mysql_escape_string($_GET['id']) : "nombre='" . mysql_escape_string($_GET['nombre']) . "'";
 
$resultado = @mysql_query("SELECT imagen,tipo FROM subir_imagenes WHERE " . $datos);
 
$imagen = @mysql_fetch_assoc($resultado) or die('Imagen inexistente');

header("Content-type: $imagen[tipo]");


print $imagen ["imagen"];

 
?> 
Lo siento pero no entiendo que quieres decir con esto, explicate mejor:

comoinsertar en una divicion la imagen, lo podria hacer con un while y q me devuelva las fotos encontrada mediante array??¿? y al ser montada la resolucion max sea de 300*300px
ya el codigo esta listo ya puedo insertar y me devuelve la foto, pero como hago para q me la muestra con una dimension mas pequeña por ejemplo, q el usuario la envie y la resolucion original sea 600*700px y al seleccionarla de la base de datos para mostrarla en la web en dicha division sea de 100*100px..
Aunque la URL de la foto la obtengas de la BBDD, supongo que para mostrar las fotos usaras:

<img src="...." etc
Pues añade a esa etiqueta una anchura y altura fijas:

Ejemplo: <img src="tufoto.jpg" alt="nombre" width="300px" height="300px"/>

Un saludo
Aunque no es para mi gusto una buena forma de almacenar imagenes, pero hay de gustos a gustos, para mostrar la imagen en el tamaño que quieres basta con ponerle dimenciones a la misma: <img src="$imagen" width="100" height="100" border="0"> y asi la imagen se mostrara de 100x100 px aunque su tamaño sea mayor, aunque esto no modifica la imagen original y en realidar simplemente la ajusta al tamaño deceado, si deceas tratar las imagenes y redimencionarlas deberas usar las librerias GD de php para tratar imagenes y crear miniaturas.
hola serverdns, por lo q veo tu estilo es subirla directamente al computador luego llamarlas mediante una sentencia en php... como soy nuevo en esto encontre este codigo en la red, pero tengo una duda, quiero q cada vez q suba una imagen se almacene en la misma divicion por ejemplo , echo("<span class='fotos'><img src=\"http://".$_SERVER['HTTP_HOST']."/fotos/imagenes_pequena.php?ruta=$ruta_completa\"></span>");, pero al subir varias se cree otra divicion al lado y asi ps, un ejemplo claro de esto seria el sistema de fotos thumbs q tiene mercado libre al uno subir una foto se debe de almacenar en una base de datos, tabla, y al pedirla la llame mediante una ID, creo q seria asi la solucion ya que cuando subo una imagen me la muestra bn, pero cuando subo otra me reemplaza la q subi anteriormente aqui les dejo el codigo para q me ayuden.
UPLOAD.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
var numero = 0; //Esta es una variable de control para mantener nombres
            //diferentes de cada campo creado dinamicamente.
evento = function (evt) { //esta funcion nos devuelve el tipo de evento disparado
   return (!evt) ? event : evt;
}
 
//Aqui se hace lamagia esta funcion crea dinamicamente los nuevos campos file
addCampo = function () { 
//Creamos un nuevo div para que contenga el nuevo campo
   nDiv = document.createElement('div');
//con esto se establece la clase de la div
   nDiv.className = 'archivo';
//este es el id de la div, aqui la utilidad de la variable numero
//nos permite darle un id unico
   nDiv.id = 'file' + (++numero);
//creamos el input para el formulario:
   nCampo = document.createElement('input');
//le damos un nombre, es importante que lo nombren como vector, pues todos los campos
//compartiran el nombre en un arreglo, asi es mas facil procesar posteriormente con php
   nCampo.name = 'archivos[]';
//Establecemos el tipo de campo
   nCampo.type = 'file';
//Ahora creamos un link para poder eliminar un campo que ya no deseemos
   a = document.createElement('a');
//El link debe tener el mismo nombre de la div padre, para efectos de localizarla y eliminarla
   a.name = nDiv.id;
//Este link no debe ir a ningun lado
   a.href = '#';
//Establecemos que dispare esta funcion en click
   a.onclick = elimCamp;
//Con esto ponemos el texto del link
   a.innerHTML = 'Eliminar';
//Bien es el momento de integrar lo que hemos creado al documento,
//primero usamos la función appendChild para adicionar el campo file nuevo
   nDiv.appendChild(nCampo);
//Adicionamos el Link
   nDiv.appendChild(a);
//Ahora si recuerdan, en el html hay una div cuyo id es 'adjuntos', bien
//con esta función obtenemos una referencia a ella para usar de nuevo appendChild
//y adicionar la div que hemos creado, la cual contiene el campo file con su link de eliminación:
   container = document.getElementById('adjuntos');
   container.appendChild(nDiv);
}
//con esta función eliminamos el campo cuyo link de eliminación sea presionado
elimCamp = function (evt){
   evt = evento(evt);
   nCampo = rObj(evt);
   div = document.getElementById(nCampo.name);
   div.parentNode.removeChild(div);
}
//con esta función recuperamos una instancia del objeto que disparo el evento
rObj = function (evt) { 
   return evt.srcElement ?  evt.srcElement : evt.target;
}
</script>
 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>
 
<body>
 <form name="formu" id="formu" action="imagenes.php" method="post" enctype="multipart/form-data">
     <dl>            
   <dt><label>Archivos a Subir:</label></dt>
           <dd><div id="adjuntos">
         <input type="file" name="archivos[]" /><br />
   </div></dd>
   <dt><a href="#" onClick="addCampo()">Subir otro archivo</a></dt>      
   <dd><input type="submit" value="Enviar" id="envia" name="envia" /></dd>
     </dl>
</form>
 
</body>
</html>

redimencionar

<?php
/*### ESTE SCRIPT ES PARA IMAGENES JPG, GIF, PNG###*/
$ruta_imagen= "$ruta_completa";
//este es el acho maximo el alto es proporcional para no distorcionar la imagen
$medida = "350";
//aqui vamos a obtener los datos de la imagen en el caso de no estar buena la imagen por alguna razon dara este mensaje 
switch ($tamanio[2])
      {
      case 1: $imagen= @imagecreatefromgif($ruta_imagen) or die ("<center><br /><br /><strong>la imagen esta da&ntilde;ada o <br />tiene un formato no valido</strong></center>");
       break;
      case 2: $imagen= @imagecreatefromjpeg($ruta_imagen) or die ("<center><br /><br /><strong>la imagen esta da&ntilde;ada o <br />tiene un formato no valido</strong></center>");
       break;
      case 3: $imagen= @imagecreatefrompng($ruta_imagen) or die ("<center><br /><br /><strong>la imagen esta da&ntilde;ada o <br />tiene un formato no valido</strong></center>");
      }
 
//obtenemos el tamaño de la imagen
   $ancho = @imagesx ($imagen);
   $alto = @imagesy ($imagen);
   //aqui compruebo si el ancho de la imagen es mayor que el establesido como limite de ser menor no se ejecuta el escript de redimencionar de ser mayor se procede a ajustarla a la medida
   if ($ancho > $medida){ 
   if($ancho>=$alto)
   {
      $nuevo_alto = round($alto * $medida / $ancho,0);   
      $nuevo_ancho=$medida;
   }
   else
   {
      $nuevo_ancho = round($ancho * $medida / $alto,0);
      $nuevo_alto =$medida;   
   }
   //aqui se guarda en la bbdd la ruta y los datos que necesitemos
   $ruta_ruta_1 = "$ruta_completa";
$conexion_ruta = @mysql_connect("localhost","root","48202d") or die("No se pudo realizar la conexion con el servidor.");
@mysql_select_db("albunes",$conexion_ruta) or die("No se puede seleccionar BD");
 
$consulta_insertar = "INSERT INTO dir_imagenes (id, ruta_normal, username, ancho, alto, albun) VALUES ('', '$ruta_ruta_1', '$usuario', '$nuevo_ancho', '$nuevo_alto', '".$album."')";
mysql_query($consulta_insertar,$conexion_ruta ) or die("No se pudo insertar los datos en la base de datos.");
   
 
   $imagen_nueva = @imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
   
   @imagecopyresampled($imagen_nueva, $imagen, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
   @imagejpeg($imagen_nueva, "$ruta_imagen");
   @imagedestroy($imagen_nueva);
   @imagedestroy($imagen);
 
//esto se ejecuta si la imagen es menor que el ancho estrablecido
}else{ 
 

$imagen_nueva = @imagecreatetruecolor($ancho, $alto);
   
@imagecopyresampled($imagen_nueva, $imagen, 0, 0, 0, 0, $ancho, $alto, $ancho, $alto);
@imagejpeg($imagen_nueva, "$ruta_imagen", 90);
@imagedestroy($imagen_nueva);
@imagedestroy($imagen);
 
//aqui se guarda en la bbdd la ruta y los datos que necesitemos
$ruta_ruta_1 = "$ruta_completa";
$conexion_ruta = @mysql_connect("localhost","root","48202d") or die("No se pudo realizar la conexion con el servidor.");
@mysql_select_db("albunes",$conexion_ruta) or die("No se puede seleccionar BD");
 
$consulta_insertar = "INSERT INTO dir_imagenes (id, ruta_normal, username, ancho, alto, albun ) VALUES ('', '$ruta_ruta_1', '$usuario', '$ancho', '$alto', '".$album."' )";
@mysql_query($consulta_insertar,$conexion_ruta ) or die("No se pudo insertar los datos en la base de datos.");
}
?>
IMAGENES.PHP
<?php 
   //Preguntamos si nuetro arreglo 'archivos' fue definido
         if (isset ($HTTP_POST_FILES["archivos"])) {
         //de se asi, para procesar los archivos subidos al servidor solo debemos recorrerlo
         //obtenemos la cantidad de elementos que tiene el arreglo archivos
         $tot = count($HTTP_POST_FILES["archivos"]["name"]);
         //este for recorre el arreglo
         for ($i = 0; $i < $tot; $i++){
         /*con el indice $i, poemos obtener la propiedad que desemos de cada archivo
         para trabajar con este datos del arhivo*/
         //aqui el mensaje de erro
  $mensaje_error="La extensión o el tamaño de los archivos no es correcta. $tipo_archivo <br><br><table><tr><td><li>Se permiten archivos .gif, .png o .jpg 1<br><li>se permiten archivos de 2 Mb máximo.</td></tr></table>";
 $tmp_name = $HTTP_POST_FILES["archivos"]["tmp_name"][$i];
 $tamano_archivo = $HTTP_POST_FILES["archivos"]['size'][$i];
 $name = $HTTP_POST_FILES["archivos"]["name"][$i];
 //aqui le damos un nombre nuevo al archivo            
 $nombre = rand (1000000000000,99999999999999);
 //aqui le marcamos la extencion asi sea gif o png ya que al terminar el script seran jpg 
 $tipo = ".JPG";
 //la carpeta donde guardara la imagen
 $carpeta = "pequena";
 //el nombre nuevo completo de la imagen
 $nombreconpleto=$nombre.$tipo;
 //la ruta donde se guardara el archivo
 $ruta_completa = $carpeta.$nombreconpleto;
   /*  esto para determinar si realmente es un archivo jpg, gif o png ya que pueden enviar algun archivo con alguna de estas extenciones y si no se comprueba la funcion getimagesize podrian subirlo */
   $tamanio = getimagesize($tmp_name);
   if ($tamanio[2]==true){
   switch ($tamanio[2])
      {
      /*############################# AQUI COMIENZA EL GIF #######################################*/    
      case 1:  //aqui comprobamos si el archivo llego a los temporales si no damos el mensaje de error 
      if (is_uploaded_file($tmp_name))
      { //aqui comprobamos que el archivo no sea mayor de 2Mb aunque al redimencionar el archivo no sera mayor de 60 kb 
        //de ser mayor mandamos el mensaje de error
      if ($tamano_archivo < 2048000)
           { //comoprobamos si el archivo se copio en la carpeta especificada de haberse copiado se ejecuta el rimencionar.php
             // en el cual puedes hacer que en el proceso se guarde la url en la bbdd
             //de no haberce copiado en la carpeta especifica mandamos el mensaje de error 
             if (copy($tmp_name,"$ruta_completa")){ 
             include('redimencionar.php');
             }else{
                 print "Error en transferencia de archivo.";
                 exit();
               }
             
           }else{
           //este es el mensaje de error del if ($tamano_archivo < 2048000)
           echo $mensaje_error; 
        }
    
    }else{ 
    //este es el mensaje de error del if (is_uploaded_file($tmp_name))
    echo $mensaje_error;}
/*#################################### AQUI CIERRA EL GIF ##########################################*/    
      break;
/*#################################### AQUI COMIENZA EL JPG ##########################################*/       
      case 2: 
      //aqui comprobamos si el archivo llego a los temporales si no damos el mensaje de error 
      if (is_uploaded_file($tmp_name))
      { //aqui comprobamos que el archivo no sea mayor de 2Mb aunque al redimencionar el archivo no sera mayor de 60 kb 
        //de ser mayor mandamos el mensaje de error
      if ($tamano_archivo < 2048000)
           { //comoprobamos si el archivo se copio en la carpeta especificada de haberse copiado se ejecuta el rimencionar.php
             // en el cual puedes hacer que en el proceso se guarde la url en la bbdd
             //de no haberce copiado en la carpeta especifica mandamos el mensaje de error 
             if (copy($tmp_name,"$ruta_completa")){ 
             include('redimencionar.php');
             }else{
                 print "Error en transferencia de archivo.";
                 exit();
               }
             
           }else{
           //este es el mensaje de error del if ($tamano_archivo < 2048000)
           echo $mensaje_error; 
        }
    
    }else{ 
    //este es el mensaje de error del if (is_uploaded_file($tmp_name))
    echo $mensaje_error;}
    
/*#################################### AQUI CIERRA EL JPG ##########################################*/        
      break;
      /*#################################### AQUI COMIENZA EL JPG ##########################################*/    
       case 3: 
         //aqui comprobamos si el archivo llego a los temporales si no damos el mensaje de error 
      if (is_uploaded_file($tmp_name))
      { //aqui comprobamos que el archivo no sea mayor de 2Mb aunque al redimencionar el archivo no sera mayor de 60 kb 
        //de ser mayor mandamos el mensaje de error
      if ($tamano_archivo < 2048000)
           { //comoprobamos si el archivo se copio en la carpeta especificada de haberse copiado se ejecuta el rimencionar.php
             // en el cual puedes hacer que en el proceso se guarde la url en la bbdd
             //de no haberce copiado en la carpeta especifica mandamos el mensaje de error 
             if (copy($tmp_name,"$ruta_completa")){ 
             include('redimencionar.php');
             }else{
                 print "Error en transferencia de archivo.";
                 exit();
               }
             
           }else{
           //este es el mensaje de error del if ($tamano_archivo < 2048000)
           echo $mensaje_error; 
        }
    
    }else{ 
    //este es el mensaje de error del if (is_uploaded_file($tmp_name))
    echo $mensaje_error;}
/*#################################### AQUI CIERRA EL JPG ##########################################*/             
       break;
       /*#################### todos los demas es para cualquier otro tipo de archivos  y de el mensaje de error indicando que no es un archivo no valido ####################*/    
      case 4: 
      echo $mensaje_error;
       break;
      case 5: 
      echo $mensaje_error;
       break;
      case 6:
      echo $mensaje_error;
       break;
      case 7: 
      echo $mensaje_error;
       break;
      case 8: 
      echo $mensaje_error;
       break;
      case 9: 
     echo $mensaje_error;
      } 
     
    }
    echo("<b>Archivo </b> $key ");
            echo("<br />");
            echo("<b>imagen redimencionada normal:</b> \n");
            echo("<br />"); 
            //aqui cambia la url por la tuya    
            echo("<a href=\"http://".$_SERVER['HTTP_HOST']."/clasificados/$ruta_completa\">http://".$_SERVER['HTTP_HOST']."/clasificados/$ruta_completa</a>");
            echo("<br />"); 
            echo("<b>imagen enThumbs:</b> \n");
            echo("<br />"); 
            echo("<a href=\"http://".$_SERVER['HTTP_HOST']."/clasificados/imagenes_pequena.php?ruta=$ruta_completa\">http://".$_SERVER['HTTP_HOST']."/clasificados/imagenes_pequena.php?ruta=$ruta_completa</a>");
            echo("<br />"); 
            echo("<br />"); 
            echo("<br />");        
 
       sleep(1);
            }
      
      
      } 
      
      
           
?>

IMAGENES PEQUENAS.php
<?php

header("Content-type: image/jpeg"); 
$archivo= $_GET['ruta'];
//aqui obtengo los datos de la imagen para hacer una comprobacion para ver el tamaño de la imagen ya que si es menor del tamaño permitido no ejecuto el script
$imagen= @imagecreatefromjpeg($archivo) or die ("<center><br /><br /><strong>la imagen esta da&ntilde;ada o <br />tiene un formato no valido</strong></center>");
//aqui saco el ancho 
$ancho = @imagesx ($imagen);
 
// este es el tamaño marcado la imagen sera pefectamente cuadrada sin deformarla
$tamano = 100;
//aqui es donde verificamos si la imagen es mayor de serlo ejecutamos si no mostramos la imagen con el tamaño por defecto que deberia ser menor a 100 px 
if($ancho > $tamano){
list($ancho, $alto) = @getimagesize($archivo);
if($ancho>$alto)
{
    $new_alto = $tamano;
    $new_ancho = ($ancho/$alto)*$new_alto;
 
    $x = ($ancho-$alto)/2;
    $y = 0;
}
else {
    $new_ancho = $tamano;
    $new_alto = ($alto/$ancho)*$new_ancho;
 
    $y = ($alto-$ancho)/2;
    $x = 0;
}
 
$origen = @imagecreatefromjpeg($archivo);
$temp = @imagecreatetruecolor($tamano, $tamano);
@imagecopyresampled($temp, $origen, 0, 0, $x, $y, $new_ancho, $new_alto, $ancho, $alto);
@imagejpeg($temp);
@imagedestroy($temp);
@imagedestroy($origen);
}else
{
@imagejpeg($imagen);
@imagedestroy($imagen);
}
 
?> 
bueno revise el script y hay varios errores o esat inconcluso:

 $name = $HTTP_POST_FILES["archivos"]["name"][$i];
 //aqui le damos un nombre nuevo al archivo            
 $nombre = rand (1000000000000,99999999999999);  /* mala idea para elegir nuevos nombres, esta funcion tiende ha repetir los numeros generados constantemente, usa mejor mt_rand()  o yo usaria mejor una conbinacion como $nombre=time()."_".md5($HTTP_POST_FILES["archivos"]["name"][$i]); */
 //aqui le marcamos la extencion asi sea gif o png ya que al terminar el script seran jpg 
 $tipo = ".JPG";  // Yo pereriria usar minusculas en todos los nombres
 //la carpeta donde guardara la imagen
 $carpeta = "pequena";  // Generalmente los nombres de carpetas terminan en /
 //el nombre nuevo completo de la imagen
 $nombreconpleto=$nombre.$tipo;
 //la ruta donde se guardara el archivo
 $ruta_completa = $carpeta.$nombreconpleto; // al no terminar en / la variable carpeta se une al nombre quedaria algo como: carpeta123456789.JPG

Al generar numeros aleatorios para el nombre con la funcion rand(), quizas funcione la primera vez, la segunda vez lo mas probable es que adquiera el mismo valor, sin tomar en cuenta que nunca destrulles el valor generado con unset($nombre); despues de usarlo.

No hay ninguna etapa de validacion para ver si la imagen con el nombre asignado ya existe en el servidor, aunque generes nombres que quizas nunca se repetiran, no esta demas validar que la imagen no exista en el servidor.

Ademas de que hay mucho codigo repetido que podrias optimizar, cuando guardas la imagen en la base de datos, si todas las imagenes van ha estar en la misma carpeta, seria mucho mejor si solo guardas el nombre de la imagen y no toda la ruta completa.
si podria ayudarte, mas no hacerlo, podrias corregir esos errores que te he dicho y probar, aunque aun no entendo que es lo que pretendes hacer con eso, un hosting de imagenes o almacen, o simplemente una galeria de fotos.
Tengo un problema al momento de subir las fotos jpge, suben los gif y pgn pero no los jpg, se ejecuta todo bien solo tengo problemas al momento de guardarlas en el servidor:

Este el codigo php:
$id_fotousuario=$_SESSION["id_usuario"];
$filename = trim($_FILES['archivo']['name']);
$filename = substr($filename, -50);
$archivo_nombre= $_FILES["archivo"]["name"];
$archivo_peso= $_FILES["archivo"]["size"];
$archivo_temporal= $_FILES["archivo"]["tmp_name"];
$extimagen=pathinfo($archivo_nombre);
$ext=array("jpg", "gif", "png", "JPEG", "jpeg", "GIF", "JPG", "pjpeg", "PJPEG");
$urlnueva="images/" . $archivo_nombre;
if (is_uploaded_file($archivo_temporal)){
if (array_search($extimagen["extension"], $ext)){
copy($archivo_temporal, $urlnueva);
$ssql="SELECT * FROM fotos WHERE nombrefoto =$filename and id_usuario =$id_fotousuario";
}else{
echo "Extensión mala";
}
}else{
echo "No se envió nada";
}


Este es el formulario de envio:

<form action="<?php echo $_SERVER["PHP_SELF"]?>" method="post" enctype="multipart/form-data">
<div class="campoform">
<input type="file" name="archivo">
<input type="submit" value="Enviar">
</div>

</form>

El otro problema que tengo es que cuando suben las imagenes PNG o GIF no se almacena el nombre en la base de datos. Les agradeceria mucho me ayuden ya que me quede truncado en esto y no puedo continuar mi diseño.

Gracias de antemano por toda la ayuda.
Hola bienvenido a cctw , pasate por las normas del foro para evitar revivir temas viejos.

Puedes intentar buscando temas ya resueltos o aportes como:

http://www.comocreartuweb.com/consultas/showthread.php/53354-APLICA…
y existen muchos mas ahora bien:

$ssql="SELECT * FROM fotos WHERE nombrefoto =$filename and id_usuario =$id_fotousuario";

No entiendo que quieres hacer con eso , ¿Tal vez verificar que no se haya subido ya el archivo? .. aun se ve muy pobre tu codigo deberias optimizarlo mas ....

Bueno si encuentras un buen tema y lo puedes resolver ... y si no pues ya te ayudariamos

Saludos!
Muchas gracias SurKaiser, verificare el enlace que me envias.

Lo que estoy tratando de hacer es guardar solamente el nombre de las imagenes en una BD y que las imagenes sean subidas al servidor pero que esa imagen tenga un usuario para poder distinguir a quien corresponde. En cuanto a al codigo pobre te agradeceria mucho me recomiendes que cosas mas incluir.

Muchas gracias por todo nuevamente
Surkaiser, muchas gracias por tu ayuda, ya solucione el problema. sin embargo tengo otro problema al momento de buscar la imagen. La busqueda esta bien, lo probé en phpmyadmin con el SQL y me da el resultado correctamente, el problema ocurre en mysql_query(), te envio el codigo para que me des una mano por favor.

Lo que estoy haciendo es que tengo una imagen pequeña y al darle clic sobre la imagen se habra otra ventana con una imagen mas grande.


<?php
session_start();
$raiz= "./";
$foto=$_GET["imagen"];
$id_fotousuario=$_SESSION["id_fotousuario"];
$busca="SELECT * FROM fotos WHERE nombrefoto ='" .$foto. "' and id_usuario ='" . $id_fotousuario . "'";
$registro=mysql_query($busca);
if (mysql_num_rows($registro)){
//no logra entra aca, me sale el mensaje de: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D: \ wamp \ www \ inforurre \ imagenfoto.php en la línea 8
$fila=mysql_fetch_array($rs_f);
echo '<img src="' . $raiz . 'images/' . $fila["nombrefoto"] . '" width="600" heigth="600">';
}
?>

te agradecedia mucho me ayudes a descifrar el error, ya que no puedo mostar la imagen seleccionada..