Erro ao fazer upload de arquivos em PHP: causas e soluções

O erro ao fazer upload de arquivos em PHP é um problema muito comum, principalmente em formulários que enviam imagens, PDFs ou documentos grandes.

Na maioria dos casos, o problema está relacionado a configuração do PHP, permissões de pastas ou validação incorreta do formulário.

Se você também enfrenta erros como PHP Fatal error: Allowed memory size exhausted ou 500 Internal Server Error, veja estes guias:

Principais causas de erro no upload de arquivos em PHP

Formulário sem enctype correto

Para que o upload funcione, o formulário deve conter o atributo enctype="multipart/form-data".

---

Pasta de destino sem permissão de escrita

O PHP precisa ter permissão para gravar arquivos na pasta de destino.

---

Limites de tamanho no PHP

O PHP possui limites que podem bloquear uploads grandes:

---

Variável $_FILES vazia

Isso normalmente indica problema no formulário ou limite de tamanho excedido.

---

Validação incorreta do arquivo

Extensões ou tipos MIME bloqueados podem impedir o upload.

---

Como identificar o erro no upload

Verificar mensagens de erro do PHP

Use:

print_r($_FILES);

O PHP informa o código do erro no índice error.

---

Ativar exibição de erros

ini_set('display_errors', 1);
error_reporting(E_ALL);
---

Como corrigir erro ao fazer upload de arquivos em PHP

Ajustar configurações no php.ini

upload_max_filesize = 10M
post_max_size = 12M
memory_limit = 128M
---

Validar corretamente o formulário

if (isset($_FILES['arquivo']) && $_FILES['arquivo']['error'] === 0) {
    // upload válido
}
---

Usar move_uploaded_file corretamente

move_uploaded_file(
  $_FILES['arquivo']['tmp_name'],
  'uploads/' . $_FILES['arquivo']['name']
);
---

Garantir existência da pasta de destino

Sempre verifique se a pasta existe antes do upload.

---

Erros comuns de upload em PHP

---

Relação entre erro de upload e erro de memória

Uploads grandes podem gerar erro de memória no PHP. PHP Fatal error: Allowed memory size exhausted .

Veja também: Erro 401 Unauthorized em PHP e APIs: o que é e como resolver . Erro 403 Forbidden em sites PHP: o que é e como resolver . Como resolver erro 500 e 404 em sites PHP (guia completo) .

---

Conclusão

Erros ao fazer upload de arquivos em PHP são comuns, mas geralmente fáceis de resolver quando as configurações estão corretas.

Com atenção ao formulário, permissões e limites do PHP, é possível garantir uploads seguros e funcionais em qualquer sistema.