Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/09/2011, 05:17
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 9 meses
Puntos: 253
Respuesta: crea directorio con permisos 0777 pero no sube la imagen, me podéis ayudar

Si pones 253 ifs concatenados y no formateas el código normal que no sepas ni por qué tienes el error. Una vez formateado el código, puedes ver que el el if que no pasa es del de ($filesize > 0):
Código PHP:
Ver original
  1. if($filesize < $max){
  2.     if($filesize > 0){
  3.         if((ereg(".jpg", $filename)) || (ereg(".gif", $filename)) || (ereg(".png", $filename)) || (ereg(".JPG", $filename))|| (ereg(".GIF", $filename)) || (ereg(".PNG", $filename))){
  4.             $uploadfile = $uploaddir . $filename;
  5.             if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) {
  6.                 print("Archivo subido correctamente");
  7.             } else {
  8.                 print("Error de conexi&oacute;n con el servidor.");
  9.             }
  10.         } else {
  11.             print("Sólo se permiten imágenes en formato jpg., png. y gif., no se ha podido adjuntar.");
  12.         }
  13.     } else {
  14.         print("<br><br>Campo vac&iacute;o, no ha seleccionado ninguna imagen");
  15.     }
  16. } else {
  17.     print("<br><br>La imagen que ha intentado adjuntar es mayor de 1.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.");
  18. }

Si subes por tu código para ver dónde se inicializa $filesize podemos ver la siguiente línea:
Código PHP:
Ver original
  1. $filesize = $_FILES['upfile']['size'];

Todo esto parece estar bien, lo cual me lleva a plantearme una duda, crees que estás enviando bien el formulario? Para ver si esto lo estás haciendo bien, tienes que incluir un var_dump($_FILES)o var_dump($_FILES['upfile']) para ver qué trae dicha variable. Una vez visto esto seguiremos con otras hipótesis, pero lo primero es lo primero.


Por otro lado, nada tiene que ver (creo, pero nunca se sabe) con tu problema tienes dos funciones: ereg y ereg_replace que están OBSOLETAS. Yo las cambiaría por preg_match y preg_replace, aunque ten cuidado, porque tienes que modificar ligeramente las expresiones regulares con este cambio (por ejemplo, tendrás que rodear con //).

Mira lo que te he dicho y si sigue sin funcionarte, seguimos mirando.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?