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 originalif($filesize < $max){
if($filesize > 0){
if((ereg(".jpg", $filename)) || (ereg(".gif", $filename)) || (ereg(".png", $filename)) || (ereg(".JPG", $filename))|| (ereg(".GIF", $filename)) || (ereg(".PNG", $filename))){ $uploadfile = $uploaddir . $filename;
print("Archivo subido correctamente");
} else {
print("Error de conexión con el servidor.");
}
} else {
print("Sólo se permiten imágenes en formato jpg., png. y gif., no se ha podido adjuntar.");
}
} else {
print("<br><br>Campo vacío, no ha seleccionado ninguna imagen");
}
} else {
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.");
}
Si subes por tu código para ver dónde se inicializa $filesize podemos ver la siguiente línea:
Código PHP:
Ver original$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.