Foros del Web » Programando para Internet » PHP »

Subiendo imagenes al servidor

Estas en el tema de Subiendo imagenes al servidor en el foro de PHP en Foros del Web. Hola ! que tal, bueno les comento un problema que tengo, estoy haciendo el codigo para subir imagenes al servidor y que éstas despues las ...
  #1 (permalink)  
Antiguo 18/04/2010, 08:46
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Subiendo imagenes al servidor

Hola ! que tal, bueno les comento un problema que tengo, estoy haciendo el codigo para subir imagenes al servidor y que éstas despues las pueda usar para los perfiles de los usuarios.
Tengo 2 archivos fotos.php y upload_imagenes.php, el problema que surge es que la imagen se guarda en la carpeta uploadedimagenes, todo bien, pero despues la url y la id de usuario que subió la foto no se inserta en la bd, por lo tanto despues en el codigo me aparece el mensaje de "no has subido ninguna imagen" que está en una de las lineas, pero he subido una imagen, asi que no sé.
Y en el upload_imagenes.php hay 1 warning "mysql_num_rows(): supplied argument is not a valid MySQL result resource in online 11"
que seria esta parte:

Código PHP:
Ver original
  1. $sql=mysql_query($sbq_off_img);
  2. $num=mysql_num_rows($sql);


Ahora dejo los codigos:

fotos.php:

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5.  error_reporting(E_ALL ^ E_NOTICE);
  6. session_name('pLogin');
  7.  
  8. include ("connect.php");
  9. $usuario=$_SESSION["usuario"];
  10. $id=$_SESSION["id"];
  11. ////////---chking
  12. $query="select * from prueba_memb_imagenes where id='$_SESSION[id]'";
  13. //die($sbq_off_chk);
  14. $mem_q=mysql_query($query);
  15.  
  16.  
  17. $mem=mysql_fetch_array($mem_q);
  18.  
  19.  
  20.  
  21.  
  22. $sbq_off_img="select * from prueba_memb_imagenes where dm_uid='$id' ";
  23. //die($sbq_off_img);
  24.  
  25. $sql=mysql_query($sbq_off_img);
  26. $num=mysql_num_rows($sql);
  27. $uid=$id;
  28.  
  29. if (isset($_REQUEST["msg"]))
  30.         {
  31.         echo "<font class='red'>".$_REQUEST["msg"]."</font><br>";
  32.         }
  33.    
  34.    
  35. if($rst=mysql_fetch_array($sql))
  36.      {
  37.     $cnt=0;
  38.     $row=0;
  39.     while($rst)
  40.     {
  41.     $cnt++;
  42.     if($cnt%3==1)
  43.     {
  44.     $row++;
  45.     }
  46.                 $rst=mysql_fetch_array($sql);
  47.                 if(!($rst))
  48.                 {
  49.                 $blankpad=(($row*3)-$cnt)%3;
  50.                
  51.                 while($blankpad>0)
  52.                  {
  53.                      $blankpad--;}
  54.                  }
  55.          
  56.  if($cnt%3==0)
  57.     {
  58.         }
  59.         }
  60.         }
  61.         else
  62.     echo "<font size='2' color='#FF0000' face='Verdana, Arial, Helvetica, sans-serif'>No has añadido ninguna imagen</font>";
  63.    
  64. ?>

el upload_imagenes.php:

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. include("connect.php");
  5.  
  6. $uid=$_SESSION["id"];
  7.  
  8. $config=mysql_fetch_array(mysql_query("select * from prueba_memb_imagenes"));
  9. $sbq_off_img="select * from prueba_memb_imagenes where dm_uid=$uid";
  10. $sql=mysql_query($sbq_off_img);
  11. $num=mysql_num_rows($sql);
  12. $uid=$id;
  13.  
  14.  
  15.  
  16.  
  17. if (is_uploaded_file($_FILES['userfile']['tmp_name']))
  18. {
  19.     $realname = $_FILES['userfile']['name'];
  20.     ///////--------chking extension
  21.         if(!preg_match("/(\.jpg|\.png|\.gif|\.bmp|\.jpeg)$/i",$realname))
  22.             die();
  23.     ///////--------end chking extension
  24.     if ($_FILES['userfile']['size']>($config["dm_image_size"]))
  25.     {
  26.     $mess="Uploaded files must be less than ".($config["dm_image_size"]/1000)."k, please try again";
  27.     }
  28.     elseif($_FILES['userfile']['size']<=0)
  29.     {
  30.     $mess="File could not be uploaded, please try again";
  31.     }
  32.     else
  33.     {
  34.  
  35. //  echo $realname . ", size: ". $_FILES['userfile']['size'] . " [ ";
  36.     $insert="no";
  37.     switch($_FILES['userfile']['error'])
  38.     { case 0: $mess = "Image has been uploaded successfully"; $insert="yes";      break;
  39.       case 1:
  40.       case 2: $mess = "Error : File size more than maximum size allowed by server";break;
  41.       case 3: $mess = "Error : File partially uploaded"; break;
  42.       case 4: $mess = "Error : No file uploaded";
  43.       break;
  44.     }
  45. //  echo $mess . " ]  ";
  46.        
  47.        
  48.         // check whether the file exists beforehand, if yes use randomvar in front of filename
  49.             mt_srand((double)microtime()*1000000);
  50.         $randvar =  mt_rand(1,10000000);
  51.         settype($randvar,"string");
  52.        
  53. $extension=explode(".",$realname);
  54. $newfilename = "uploadedimages/" . $randvar.".".$extension[count($extension)-1];// str_replace(" ","_",$realname);
  55. //echo $newfilename;
  56. $shortfname = $randvar.".".$extension[count($extension)-1];// . str_replace(" ","_",$realname);
  57.  
  58.         while ( file_exists($newfilename) != FALSE )
  59.         {
  60.         $randvar =  mt_rand(1,10000000);
  61.         settype($randvar,"string");
  62. $newfilename = "uploadedimagenes/" . $randvar.".".$extension[count($extension)-1];// str_replace(" ","_",$realname);
  63. $shortfname =  $randvar.".".$extension[count($extension)-1];// str_replace(" ","_",$realname);
  64.         }
  65. //////////////////////
  66.         copy($_FILES['userfile']['tmp_name'], $newfilename);
  67.        
  68.         //=============================if insertion = yes
  69.         if($insert=="yes")
  70.         {
  71.         if(!get_magic_quotes_gpc())
  72.             $url=str_replace("$","\$",addslashes($shortfname));
  73.         else
  74.             $url=str_replace("$","\$",$shortfname);
  75.            
  76.         mysql_query("Insert into `prueba_memb_imagenes` ( dm_uid, dm_image_url) VALUES ( $uid,'$url')");
  77.        
  78.             if($config["dm_image_magik"]=="enable")
  79.             {
  80.                 $size_str=$config["dm_th_width"] . "x" . $config["dm_th_width"];
  81.                 $size_str2=$config["dm_th_width2"] . "x" . $config["dm_th_width2"];
  82.                 $path1="uploadedimagenes" . '/' . $shortfname;
  83.                 $path2="thumbs1" . '/' . $shortfname;
  84.                 $path3="thumbs2" . '/' . $shortfname;
  85.                
  86.             }
  87.  
  88.         }
  89.        
  90. }// Else fr more than 60k
  91.  
  92. }
  93. else
  94. {  
  95.     $mess="Some error occurred, please try again";
  96. }
  97.  
  98. header ("Location: fotos.php?msg=".urlencode($mess));
  99. die();
  100.  
  101. ?>


Gracias de antemano, den_22
  #2 (permalink)  
Antiguo 18/04/2010, 09:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subiendo imagenes al servidor

sabes depurar consultas??

por que de hecho ese es tu problema... como no lo haces no te das cuentas de posibles errores en las mismas....
Código PHP:
mysql_query(/* tu consulta */) or die(mysql_error()); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/04/2010, 09:49
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Subiendo imagenes al servidor

Bueno gracias por tu respuesta, pero igual sigo sin encontrarle la solucion.
  #4 (permalink)  
Antiguo 18/04/2010, 09:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subiendo imagenes al servidor

Cita:
Iniciado por den_22 Ver Mensaje
Bueno gracias por tu respuesta, pero igual sigo sin encontrarle la solucion.
a ver... ya depuraste tu código??

porque te lo digo con precisión: dicho error que te sale resulta de una consulta errada...

osea, debiste hacer lo siguiente
Código PHP:
$sql=mysql_query($sbq_off_img) or die(mysql_error());
$num=mysql_num_rows($sql); 
¿lo has hecho? ¿que resulto??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 18/04/2010, 10:01
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Subiendo imagenes al servidor

Si lo hice y me dice "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1" se queda en esa linea el codigo
  #6 (permalink)  
Antiguo 18/04/2010, 10:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subiendo imagenes al servidor

bueno, pues entonces... antes de ejecutar la consulta prueba a imprimirla... y analiza si está bien formada... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 18/04/2010, 10:59
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Subiendo imagenes al servidor

Los select * from estan bien, pero no se inserta nada en la base de datos. y nunca se me generan los thumbnails.

Gracias de todos modos, buscaré otro codigo.
  #8 (permalink)  
Antiguo 18/04/2010, 13:18
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Subiendo imagenes al servidor

probá ponerle comillas simples a esta variable $uid pa ver que pasa

mysql_query("Insert into `prueba_memb_imagenes` ( dm_uid, dm_image_url) VALUES ( $uid,'$url')");

Etiquetas: imagenes, servidores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:44.