Foros del Web » Programando para Internet » PHP »

Control tamaño de fichero ANTES de subirlo

Estas en el tema de Control tamaño de fichero ANTES de subirlo en el foro de PHP en Foros del Web. Buenas! Tengo un algoritmo que permite al usuario subir ficheros controlando que no exceda el tamaño máximo permitido (1MB): @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original ...
  #1 (permalink)  
Antiguo 24/08/2014, 17:34
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Control tamaño de fichero ANTES de subirlo

Buenas!

Tengo un algoritmo que permite al usuario subir ficheros controlando que no exceda el tamaño máximo permitido (1MB):

Código PHP:
Ver original
  1. foreach ($_FILES['uploadFiles']['name'] as $i => $name) {
  2.                 if($_FILES['uploadFiles']['size'][$i] > 1048576) {
  3.                     $state = 4;
  4.                     break;
  5.                 }
  6.             }

Hasta ahí todo bien, y funciona correctamente. El problema es el matiz de que la comprobación la hace cuando el archivo ya está en el servidor (aunque se encuentre como fichero temporal). Esto da el problema de que el usuario examina el escritorio y pretende subir un fichero de 50MB, el servidor lo sube como temporal y luego hace la comprobación lo cual consume recursos innecesariamente.

Investigando he encontrado una etiqueta HTML que da solución a lo que pido (pero tiene otro inconveniente):

Código HTML:
Ver original
  1. <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />

Con esto funciona como debe pero el problema es que, impide subir el fichero, pero no da ningún aviso, por tanto mi script PHP no se entera de que el usuario ha intentado subir un archivo y no hay manera de avisarlo de que excede el tamaño máximo.

¿Alguna idea con PHP y HTML antes de tirar por JavaScript?. Un saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #2 (permalink)  
Antiguo 25/08/2014, 02:59
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Control tamaño de fichero ANTES de subirlo

Seguro que alguno lo tiene implementado así en sus aplicaciones web.

Una ayudita. Thanks!
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #3 (permalink)  
Antiguo 25/08/2014, 08:48
Avatar de javier6_almansa  
Fecha de Ingreso: mayo-2014
Mensajes: 34
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Control tamaño de fichero ANTES de subirlo

Código:
<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
Tiene el problema de que cualquiera que sepa un poco, te puede inspeccionar el elemento y modificar el value. No se me ocurre otra forma a nivel servidor sin que cree el fichero temporal.
Si no te importa a nivel local esta seguridad, lo que podrías hacer es mediante javascript que apareciera un mensaje, ya fuera mediante alert o con un div oculto con el mensaje.

Etiquetas: control, fichero, html, subirlo, tamaño
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 14:17.