alguien sabe a que se debe este mega fail?porque me estoy jugando el modulo por ese error sin controlar. un saludo y mil gracias
este es el formulario para subir hasta 4 fotografias
Código:
y este es el de subida al servidor MySql<form action="subir.php" method="post" enctype="multipart/form-data"> Nombre de la imagen: <input name="foto1" type="text" size="40" maxlength="50" /> <input name="upfile1" id="upfile" type="file"/><br/> Nombre de la imagen: <input name="foto2" type="text" size="40" maxlength="50" /> <input name="upfile2" id="upfile" type="file"/><br/> Nombre de la imagen: <input name="foto3" type="text" size="40" maxlength="50" /> <input name="upfile3" id="upfile" type="file"/><br/> Nombre de la imagen: <input name="foto4" type="text" size="40" maxlength="50" /> <input name="upfile4" id="upfile" type="file"/><br/> <input name="action" type="hidden" value="4500000" /> <input type="submit" value="Enviar fotos" style="margin-bottom:10px;"/> </form>
Código PHP:
Ver original
<?php $lifetime=5000; echo "<script> alert('debe loguearse para entrar') </script>"; echo "<script> location.href='principal.php'</script>"; } $num=0; $max=4500000;// 4.5Mb //conecto con la base de datos con las credenciales $user=$_SESSION['valid_user']; //busco todas las fotos subidas por el usuario, para contabilizarlas $numeroFotos=0; $numeroFotos++; } //el nombre del directorio donde se guardaran las fotografias sera igual al email del usuario, para evitar confusiones y violaciones de clave primaria $nombreDir=$_SESSION['valid_user']; //lo pongo a minusculas, para evitar equivocaciones a la hora de buscar en base de datos $nombreDir=strtr(strtolower($nombreDir), "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÜÚ", "àáâãäåæçèéêëìíîïðñòóôõöøùüú"); $nuevodirectorio="fotos/".$nombreDir; } //subida de las 4 fotografias $uploaddir = $nuevodirectorio."/"; $nombre1=$_POST['foto1']; //la siguiente linea es la linea que me devuelve 0, pero si meto otra fotografia, no me da 0, me da el tamaño real de la fotografia. el problema //viene cuando quiero introducir esta fotografia:buena.JPEG, tamaño: 3.03MB, 3739*2713 //la redimension la hago al mostrar la imagen, eso es lo de menos. $filesize1 = $_FILES['upfile1']['size']; $nombre2=$_POST['foto2']; $filesize2 = $_FILES['upfile2']['size']; $nombre3=$_POST['foto3']; $filesize3 = $_FILES['upfile3']['size']; $nombre4=$_POST['foto4']; $filesize4 = $_FILES['upfile4']['size']; //aqui declaro la ruta completa de la fotografia a subir $foto1=$nombreDir."/".$filename1; $foto2=$nombreDir."/".$filename2; $foto3=$nombreDir."/".$filename3; $foto4=$nombreDir."/".$filename4; $cantidadSubidas=0; if($filesize1 < $max){ //a partir de aqui ya no continua, ya que el tamaño de la fotografia es 0, no puedo continuar. //da igual que quite la condicion filesize1 > 0, me dice error de conexion, tampoco parece tener tmp_name. que es lo que ocurre? (asi con //cualquiera de los 4 huecos de subida) if($filesize1 > 0){ $uploadfile = $uploaddir . $filename1; $numeroFotos++; mysql_query("INSERT INTO fotos VALUES('".$user."','".$foto1."',".$numeroFotos.",'".$nombre1."','si','no',CURRENT_TIMESTAMP)"); $cantidadSubidas++; } else { echo "<script> alert('error de conexion')</script>"; } } else { echo "<script> alert('Sólo se permiten imágenes en formato jpg. y gif., no se ha podido adjuntar.')</script>"; } } }else { echo "<script> alert('La imagen ".$filename1." que ha intentado adjuntar es mayor de 2.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.')</script>"; } if($filesize2 < $max){ if($filesize2 > 0){ $uploadfile = $uploaddir . $filename2; $numeroFotos++; mysql_query("INSERT INTO fotos VALUES('".$user."','".$foto2."',".$numeroFotos.",'".$nombre2."','si','no',CURRENT_TIMESTAMP)"); $cantidadSubidas++; } else { echo "<script> alert('error de conexion')</script>"; } } else { echo "<script> alert('Sólo se permiten imágenes en formato jpg. y gif., no se ha podido adjuntar.')</script>"; } } }else { echo "<script> alert('La imagen ".$filename2." que ha intentado adjuntar es mayor de 2.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.')</script>"; } if($filesize3 < $max){ if($filesize3 > 0){ $uploadfile = $uploaddir . $filename3; $numeroFotos++; mysql_query("INSERT INTO fotos VALUES('".$user."','".$foto3."',".$numeroFotos.",'".$nombre3."','si','no',CURRENT_TIMESTAMP)"); $cantidadSubidas++; } else { echo "<script> alert('error de conexion')</script>"; } } else { echo "<script> alert('Sólo se permiten imágenes en formato jpg. y gif., no se ha podido adjuntar.')</script>"; } } }else { echo "<script> alert('La imagen ".$filename3." que ha intentado adjuntar es mayor de 2.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.')</script>"; } if($filesize4 < $max){ if($filesize4 > 0){ $uploadfile = $uploaddir . $filename4; $numeroFotos++; mysql_query("INSERT INTO fotos VALUES('".$user."','".$foto4."',".$numeroFotos.",'".$nombre4."','si','no',CURRENT_TIMESTAMP)"); $cantidadSubidas++; } else { echo "<script> alert('error de conexion')</script>"; } } else { echo "<script> alert('Sólo se permiten imágenes en formato jpg. y gif., no se ha podido adjuntar.')</script>"; } } }else { echo "<script> alert('La imagen ".$filename4." que ha intentado adjuntar es mayor de 2.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.')</script>"; } //echo "<script> alert('fotos subidas correctamente: ".$cantidadSubidas."')</script>"; echo "<script> location.href='inicio.php'</script>"; ?>