Portanto, se um usuário enviar um arquivo maior do que o tamanho máximo de post do php.ini , o php, de forma útil, não postará nenhum dado. Digo útil, quero dizer realmente f *** ing inútil. Como podemos informar ao usuário que o arquivo que ele carregou é muito grande, se nem mesmo sabemos que ele tentou postá-lo?
Aqui está um truque para contornar isso:
js – Ouça um evento de mudança na entrada do arquivo. Na mudança, adicione um parâmetro extra para a ação de formulários.
php – Se esse atributo for definido quando o formulário for enviado, verifique se há dados de postagem. Se não houver, o usuário provavelmente tentou enviar um arquivo muito grande.
Não é perfeito, mas sem lidar com o upload por meio de um módulo js e permitir navegadores não-html5, é o melhor que descobri até agora.