No permita > Imágenes de 2mb
Pregunta
¡Hola! ¿Cómo verifico si los usuarios intentan subir archivos de más de 2 MB? Me gustaría negar eso y poner un mensaje de error al usuario que intenta hacer eso.
Sé que es algo como esto, pero ¿qué debo cambiar el 50000 para convertirlo en 2mb?
if ( ¡Hola!
¿Cómo verifico si los usuarios intentan subir archivos de más de 2 MB? Me gustaría negar eso y poner un mensaje de error al usuario que intenta hacer eso.
Sé que es algo como esto, pero ¿qué debo cambiar el 50000 para convertirlo en 2mb?
<*>FILES['imagefile']['size'] > 50000 )
{
die ("ERROR: Large File Size");
}
Solución
2 MB son 2097152 bytes.
Cambie el 50000 a 2097152 y estará listo.
Otros consejos
El 5,000 es el número de byes, por lo que básicamente solo necesitas convertir 2 MB a bytes. 1 MB es 1024 kilobytes y 1024 bytes es 1 kilobyte. Haciendo los cálculos, obtenemos:
2 megabytes = 2 097 152 bytes
Básicamente, puede calcular esto en forma de código
$maxFileSize = $MB_limit * 1024 * 1024;
Y compruebe que el tamaño del archivo no exceda $ maxFileSize.
Suponiendo que tiene un campo de archivo en un formulario, llamado 'subir', puede verificar el tamaño del archivo de la siguiente manera:
if ($ _FILES ['upload'] ['size'] > $ max_upload_size) {echo " Archivo demasiado grande " ;; }
Donde $ max_upload_size es el tamaño máximo que desea permitir (obviamente querrá reemplazar la instrucción echo
con un mensaje de error más útil).
También puede usar el upload_max_filesize en el archivo php.ini, pero esto hará que sus usuarios vean un error de PHP si exceden este límite, en lugar de su mensaje de error personalizado.