O item MAX_FILE_SIZE não pode especificar um tamanho de arquivo com tamanho maior do que o especificado no php.ini em upload_max_filesize. O padrão é 2 Megabytes.
Se o limite de memória esta ativado, um maior memory_limit pode ser necessário. tenha certeza de estabelecer um memory_limit grande o suficiente.
Se max_execution_time for muito pequeno, a execução do script pode ultrapassar o limite de tempo. Tenha certeza de estabelecer um max_execution_time grande o suficiente.
Nota: max_execution_time somente afeta o tempo de execução do script em sí. Qualquer tempo gasto com atividades que aconteçam fora da execução do script como chamadas de sistema usando system(), a função sleep(), pesquisas em banco de dados, tempo gasto pelo processo de carregar(upload) um arquivo, etc. nâo é incluso na hora de determinar o lmite de tempo que o script esta sendo executado.
max_input_time define o tempo máximo em segundos, que é permitido ao script receber entradas, isto inclui uploads de arquivos. Para um arquivo grande ou multiplos arquivos, ou usuários em conexões lentas, o padrão de 60 segundos pode ser ultrapassado.
Se post_max_size for muito pequeno, arquivos grandes não poderão ser carregados. Tenha certeza de estabelecer post_max_size grande o suficiente.
Não validar o arquivo que você esta operando pode permitir que os usuários acessem informações sensíveis em outros diretórios.
Por favor note que o CERN httpd aparenta cortar tudo iniciando após o primeiro espaço do header content-type que ele recebe do cliente. Se for este o caso, CERN httpd não irá suportar o upload de arquivos.
Devido ao grande número de estilos de listagem de diretórios nós não podemos garantir que arquivos com nomes exóticos(como que contém espaço) sejam manuseados corretamente.
Um desenvolvedor não deve misturar campos de entrada e campos de upload de arquivo na mesma variável de formulário (usando um nome de campo como foo[]).