Não permita> Imagens de 2MB
Pergunta
HI! Como faço para verificar se os usuários estão tentando fazer upload de arquivos maior do que 2MB? Eu gostaria de negar que e colocar uma mensagem de erro para o usuário que está tentando fazer isso.
Eu sei que é algo como isto, mas o que deve i mudar a 50000 para se tornar 2mb?
if ($_FILES['imagefile']['size'] > 50000 )
{
die ("ERROR: Large File Size");
}
Solução
2 MB é 2097152 bytes.
Alterar o 50.000-2.097.152 e você está definido.
Outras dicas
O 5000 é o número de despedidas, então basicamente você só precisa converter 2MB para bytes. 1 MB é 1024 kilobytes, e 1024 bytes é de 1 kilobyte. Fazendo as contas, temos:
2 megabytes = 2 097 152 bytes
Basicamente, você pode calcular isso em forma de código
$maxFileSize = $MB_limit * 1024 * 1024;
não e verifique se o tamanho do arquivo exceda $ MAXFILESIZE.
Assumindo que você tem um campo de arquivo em um formulário, chamado de 'upload', você pode verificar o tamanho do arquivo da seguinte forma:
if ($_FILES['upload']['size'] > $max_upload_size) { echo "File too big"; }
Onde $ max_upload_size é o tamanho máximo que você deseja permitir (obviamente você vai querer substituir a declaração echo
com uma mensagem de erro mais útil).
Você também pode usar o upload_max_filesize configuração no arquivo php.ini, mas isso fará com que seus usuários para ver um erro de PHP se excederem esse limite, ao invés de seu mensagem de erro personalizada.