Limitar el Tamaño de los Archivos Enviados al Servidor
if ($_FILES["fichero"]["size"] > 200000) {die ("El fichero es demasiado grande.");}
if ($_FILES["fichero"]["error"] != 0) {die ("Se ha producido un error.");}
$archivoRecibido=$_FILES["fichero"]["tmp_name"];$destino="ficherosSubidos/fotoDelUsuario.jpg";if (move_uploaded_file ($archivoRecibido, $destino)) {echo ("Fichero grabado");} else {echo ("El fichero no se ha podido grabar.");}
<?php// Se comprueba si el archivo tiene el formato adecuado.if ($_FILES["fichero"]["type"]!="image/jpeg") {die ("El fichero no tiene el formato adecuado.");}// Se comprueba que tenga un peso adecuado.if ($_FILES["fichero"]["size"] > 200000) {die ("El fichero es demasiado grande.");}// Se comprueba que no se hayan producido errores.if ($_FILES["fichero"]["error"] != 0) {die ("Se ha producido un error.");}// Por último, se intenta grabar y se comprueba si se graba bien.$archivoRecibido=$_FILES["fichero"]["tmp_name"];$destino="ficherosSubidos/fotoDelUsuario.jpg";if (move_uploaded_file ($archivoRecibido, $destino)) {echo ("Fichero grabado");} else {echo ("El fichero no se ha podido grabar.");}?>
<?php$error=false;// Se comprueba si el archivo tiene el formato adecuado.if ($_FILES["fichero"]["type"]!="image/jpeg") {$error=true;}// Se comprueba que tenga un peso adecuado.if ($_FILES["fichero"]["size"] > 200000) {$error=true;}// Se comprueba que no se hayan producido errores.if ($_FILES["fichero"]["error"] != 0) {$error=true;}// Si se ha producido algún error se vuelve al formulario inicial.if ($error){echo ("<script language='javascript' type='text/javascript'>");echo ("location.href='comporbarYVolver.htm';");echo ("</script>");}// Por último, se intenta grabar y se comprueba si se graba bien.$archivoRecibido=$_FILES["fichero"]["tmp_name"];$destino="ficherosSubidos/fotoDelUsuario.jpg";if (move_uploaded_file ($archivoRecibido, $destino)) {echo ("Fichero grabado");} else {echo ("El fichero no se ha podido grabar.");}?>
Paso a Paso
- Comprobamos si la función type, size y error del fichero enviado, están dentro de los valores establecidos como válidos, si no es as, ponemos el valor true en una variable lógica que, inicialmente, se declara como falsa.
- A continuación, comprobemos si se ha producido algún error (es decir, si la variable lógica empleada tiene el valor true).
- Si es así, se ejecuta un código JavaScript (ver en la parte resaltada del código), que devuelve al usuario a la página donde se pide el fichero.
- Para comprobar el funcionamiento de este script cargue en su navegador el script.
<html><head><script language='javascript' type='text/javascript'>function volver() {location.href='volverPorFuncion.htm';}</script></head><body><?php$error=false;// Se comprueba si el archivo tiene el formato adecuado.if ($_FILES["fichero"]["type"]!="image/jpeg") {echo ("El archivo no está en el formato adecuado.<br>");$error=true;}// Se comprueba que tenga un peso adecuado.if ($_FILES["fichero"]["size"] > 200000) {echo ("El archivo es demasiado grande.<br>");$error=true;}// Se comprueba que no se hayan producido errores.if ($_FILES["fichero"]["error"] != 0) {echo ("Hay un error en el archivo.<br>");$error=true;}// Si se ha producido algún error se vuelve al formulario inicial.if ($error){echo ("<input type='button' name='retorno' id='retorno' value='VOLVER' onClick='javascript:volver();';");} else {// Por último, se intenta grabar y se comprueba si se graba bien.$archivoRecibido=$_FILES["fichero"]["tmp_name"];$destino="ficherosSubidos/fotoDelUsuario.jpg";if (move_uploaded_file ($archivoRecibido, $destino)) {echo ("Fichero grabado");} else {echo ("El fichero no se ha podido grabar.");}}?></body></html>
- En primer lugar, vea que tiene una función de JS destinada a devolverle a la página que contiene el formulario donde el usuario decide que fichero enviar.
- Esta función de momento no se ejecuta.
- Veamos el código PHP, que es lo que nos interesa. La parte donde se comprueba si lay algún error es igual que en el caso anterior, solo que mostrando, en cada circunstancia el tipo de error.
Hasta la Próxima
Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto
0 comentarios:
Publicar un comentario