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");
} 
Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top