Aprenda a definir um limite de tamanho para upload de arquivos no PHP

Veja como definir e controlar o tamanho máximo de arquivos enviados por usuários no PHP para garantir segurança e desempenho.

Como definir um limite de tamanho para upload de arquivos no PHP?

Controlar o tamanho máximo de arquivos enviados por usuários é essencial para manter a segurança e o desempenho do servidor. No PHP, podemos definir esse limite de várias formas, utilizando php.ini, .htaccess ou diretamente no código.

Definindo o limite no php.ini

A maneira mais eficaz de definir o limite globalmente é configurando os seguintes parâmetros no php.ini:

upload_max_filesize = 2M
post_max_size = 3M

Aqui, upload_max_filesize define o tamanho máximo do arquivo individual e post_max_size define o tamanho total permitido na requisição.

Definindo o limite via .htaccess

Se você estiver em um servidor Apache e não puder modificar php.ini, pode definir o limite usando .htaccess:

php_value upload_max_filesize 2M
php_value post_max_size 3M

Isso garante que qualquer script PHP dentro da pasta siga essas configurações.

Definindo o limite diretamente no PHP

Podemos também controlar o tamanho máximo no próprio código PHP, verificando o tamanho do arquivo antes de processá-lo:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $arquivo = $_FILES["arquivo"];

    if ($arquivo["size"] > 2000000) { // 2MB
        echo "Erro: O arquivo ultrapassa o limite permitido de 2MB.";
        exit;
    }

    echo "Arquivo dentro do limite permitido!";
}
?>

Neste código, antes de mover o arquivo, verificamos se o tamanho ultrapassa 2MB.

Definir um limite de tamanho para uploads no PHP evita que usuários enviem arquivos grandes que possam sobrecarregar o servidor. Ao configurar php.ini, .htaccess e validar o tamanho no código PHP, garantimos que apenas arquivos dentro do limite sejam processados. Isso melhora a segurança e o desempenho da aplicação.

Algumas aplicações:

  • Evitar sobrecarga no servidor por arquivos grandes
  • Impedir ataques por upload de arquivos maliciosos gigantes
  • Garantir melhor desempenho e controle de armazenamento
  • Manter a experiência do usuário mais fluida e rápida

Dicas para quem está começando

  • Configure upload_max_filesize e post_max_size no php.ini para um controle global.
  • Se estiver em um servidor Apache, utilize .htaccess para definir os limites.
  • Sempre verifique o tamanho do arquivo no código PHP antes de processá-lo.
  • Informe os usuários sobre o tamanho máximo permitido para evitar frustrações.
  • Evite permitir uploads ilimitados, pois isso pode comprometer a segurança e o desempenho do sistema.

Contribuições de Daniel Moreira

Compartilhe este tutorial: Como definir um limite de tamanho para upload de arquivos?

Compartilhe este tutorial

Continue aprendendo:

Como lidar com uploads de arquivos no PHP?

Veja como permitir que usuários façam upload de arquivos em PHP com validações de segurança para evitar ataques.

Tutorial anterior

Como enviar e-mail com PHP?

Veja como enviar e-mails no PHP utilizando a função mail() e outras alternativas mais seguras, como PHPMailer.

Próximo tutorial