Comprobar tamaño antes de subir imagen

T

Pues eso, tengo un script que sube imagenes a mi servidor, limitado por tamaño. Pero comprueba el tamaño una vez subido, no hay alguna forma de que compruebe el tamaño ANTES de que el form lo suba?

Gracias

erdanblo

Juas, al leer el titulo me he acordado de tí.

De manera fiable no, quizás con javascript, pero si alguien quiere se lo puede saltar. Si no prueba tu mismo en cualquier host de imagen o cualquier cosa de updeteo, que puedes poner a subir lo que quieras..., cuando esta todo subido lo comprueba y ya te dice si te deja o no.

http://www.forosdelweb.com/f13/problema-con-funcion-que-determina-tamano-imagen-261279/

NeB1

o sea, no te vale lo de $_FILES[x]['size']?

erdanblo

#3 mmm

Eso es PHP, ..., el PHP se ejecuta como un módulo o plugin de Apache (u otro servidor web), ..., Apache es un servidor, ..., si el fichero aun no esta en el servidor,...

NeB1

#4 ya bueno... por eso le decía si no le vale, porque realmente el $_FILE[file] está almacenado en un lugar temporal, y hasta que no aceptas la imagen, no se copia definitivamente. por eso preguntaba si le servía o que.

o sea

$tam=$_FILES['tuarchivo']['size'];

if($tam<1000)
copy($rutaarchivo,$_FILES['tuarchivo']['tmpname'];

erdanblo

#5 ¿pero para almacenarlo temporalmente o donde sea primero tendrá que subirlo no?

Lo que el quiere evitar es que si alguien intenta subir un fichero de 10Mb y el límite es de 2Mb, que cuando este subido el fichero los 10Mb se lo eché para atrás.

Crawler

igual digo una burrada, pero ¿no sirve (o ayuda) poner un campo oculto html que diga el tamaño max permitido?

<input type="hidden" name="MAX_FILE_SIZE" value="100000">

o esto se lo pasan los navegadores por el forro de...?

erdanblo

#7 ¿Paro para qué? ¿para que no se puedan tratar ficheros superiores a "X" tamaño? Para eso haces lo de #5 con PHP.

Fr4nk0

Lo único que puedes hacer es tocar la configuracion del php (php.ini o alguno de esos) y cambiar el valor de la variable
upload_max_filesize. Antes se podia modificar dinamicamente desde un script php con ini_set("upload_max_filesize", tamaño). Pero eso era hasta la versión 4 y pico de php, en la 5 no deja modificar eso con php. Lo que si puedes es ver el tamaño que tiene definido en el fichero de configuracion con ini_get("upload_max_filesize").

Con esto lo único que consigues es que si el fichero que intentas subir es más grande de lo que permite el servidor, no te dejará subirlo (o se copiará lo que sea con errores, no lo he probado). No sé si esto te servirá de algo, ya que afecta a todos los ficheros que intentes subir al servidor (ya que tocas la config del servidor).

neo-ns

Supongo que #1 quiere ahorrarse trafico, yo supongo que algún javascript debe haber que antes de subir compruebe si el archivo es de xx megas.

IAF

http://www.google.es/search?q=javascript+tama%C3%B1o+archivo&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:es-ES:official&client=firefox-a

El primer resultado

T

Ok, gracias a todos, le echare un vistazo a los enlaces de #11 a ver que tal.

Ya os contare, saludos

Usuarios habituales

  • Tunner
  • IAF
  • neo-ns
  • Fr4nk0
  • erdanblo
  • Crawler
  • NeB1