🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir o erro de upload de arquivos no WPForms

Time Full Services Time Full Services
Tipo Outros erros
Nome do erro Erro de upload de arquivos no WPForms EN: WPForms file upload error
Severidade Grave
Descrição O upload de arquivos no WPForms falha quando a extensão esta fora da lista permitida do campo, o arquivo passa do limite do servidor (upload_max_filesize) ou um plugin de cache serve uma versão antiga do formulário. A correção trata cada uma dessas três frentes.

O que é erro de upload de arquivos no WPForms?

O campo File Upload do WPForms permite que o visitante anexe arquivos no envio do formulário. Quando esse envio falha, o arquivo não chega ao servidor e a entrada fica sem o anexo, ou o formulário nem conclui o envio. A falha quase sempre vem de três camadas: a configuração do próprio campo (extensões permitidas e tamanho máximo), os limites de PHP do servidor que valem para qualquer upload do site, e a lista permanente de extensões perigosas que o WPForms bloqueia do lado do formulário, independente do que o WordPress core libere.

Como identificar

  • Mensagem ‘File exceeds the max size allowed’ ou ‘file exceeds the maximum upload size for this website’ exibida abaixo do campo File Upload no momento do envio.
  • Mensagem ‘File type is not allowed’ ao tentar anexar um arquivo cuja extensão não esta na lista permitida do campo.
  • No estilo Modern, a barra de progresso do arquivo trava em ‘Processando’ ou volta a zero e o botão de envio fica desabilitado.
  • O formulário envia sem erro visivel, mas a entrada em WPForms -> Entradas chega sem o anexo e a notificação por email vem sem o arquivo prometido.

Como prevenir

  • Mantenha o campo Allowed File Extensions explicito com apenas os tipos que o formulário realmente precisa, em vez de deixar aberto.
  • Documente o teto real de upload do servidor com o seu provedor e alinhe o Max File Size do campo um pouco abaixo desse teto.
  • Nunca tente liberar extensões executaveis para contornar a denylist do WPForms; ela existe para impedir upload de código malicioso.
  • Sempre que ajustar plugin de cache ou CDN, exclua as páginas com formulários e revalide um envio de teste com anexo.

Causa

  • A extensão do arquivo não consta no campo 'Allowed File Extensions' das opções do File Upload (lista de extensões separadas por virgula); qualquer extensão fora dela e recusada com 'File type is not allowed'.
  • O arquivo ultrapassa o valor do campo 'Max File Size' ou o limite de PHP do servidor (upload_max_filesize e post_max_size); por padrão o campo herda o teto do servidor mostrado no icone de ajuda ao lado da opção Max File Size.
  • A extensão esta na denylist permanente do WPForms (.php, .exe, .js, .jar, .html, .htm, .swf, .json), que e bloqueada do lado do formulário mesmo que o WordPress core libere o tipo.
  • O estilo Modern (drag-and-drop, com upload por AJAX) esta com o campo 'Max File Number' menor que a quantidade de arquivos que o visitante anexa, entao os arquivos extras são recusados.
  • Um plugin de cache (como o WP Rocket) ou um CDN serve uma versão estática antiga do formulário, deixando o token de segurança do WPForms defasado e fazendo o upload por AJAX falhar silenciosamente.

Como resolver

  1. Libere a extensão no próprio campo: No construtor do formulário, clique no campo File Upload e abra Field Options. No campo Allowed File Extensions, liste as extensões permitidas separadas por virgula, cada uma com ponto inicial. Salve e teste com o mesmo tipo de arquivo que falhava.
    .pdf, .docx, .jpg, .png, .heic
  2. Confirme o teto do campo e do servidor: Ainda em Field Options, passe o mouse no icone de ajuda ao lado de Max File Size para ver o teto que o servidor permite. Defina um número menor ou igual a esse teto. Se precisar de mais, eleve os limites de PHP via php.ini (ou via .htaccess no Apache) e reinicie o PHP.
    upload_max_filesize = 64M
    post_max_size = 64M
    max_execution_time = 300
  3. Respeite a denylist permanente do WPForms: Se o arquivo for de uma extensão executavel, ele e recusado de proposito pelo WPForms por segurança, e isso não deve ser contornado. Oriente o visitante a compactar o arquivo num formato seguro antes de enviar.
    .php, .exe, .js, .jar, .html, .htm, .swf, .json
  4. Exclua o formulário do cache: Se o upload por AJAX falha so para alguns visitantes, limpe todo o cache do site e do CDN e adicione a página do formulário a lista de exclusão do plugin de cache, para que o token de segurança seja sempre gerado fresco.
    /contato/
    /(.*)formulário(.*)/
PHP
// wp-content/mu-plugins/wpforms-upload-limit.php
// Sobe o teto de upload SO nas paginas que tem o WPForms,
// mantendo o resto do site no limite padrao do servidor.
add_filter( 'upload_size_limit', function ( $bytes ) {
    if ( function_exists( 'wpforms_current_form_has_field' ) ) {
        return 64 * 1024 * 1024; // 64 MB em bytes
    }
    return $bytes;
} );

Perguntas frequentes

Por que aparece 'File type is not allowed' no WPForms
A extensão do arquivo não esta na lista do campo Allowed File Extensions ou pertence a denylist permanente do WPForms. Adicione a extensão na opção do campo, com ponto inicial, se ela for um tipo seguro.
Como aumentar o tamanho máximo de upload no WPForms
Defina o campo Max File Size dentro do teto do servidor mostrado no icone de ajuda. Para subir esse teto, aumente upload_max_filesize e post_max_size no PHP e reinicie o serviço.
Qual a diferenca entre os estilos Modern e Classic do File Upload
O Modern usa drag-and-drop com upload por AJAX e aceita vários arquivos pelo campo Max File Number. O Classic mostra um botão Choose File e não suporta múltiplos arquivos no mesmo campo.
Por que o upload trava em 'Processando' no estilo Modern
Geralmente o token de segurança esta defasado porque um plugin de cache serve o formulário antigo. Limpe o cache e exclua a página do formulário do cache para o upload por AJAX voltar a concluir.
Posso permitir upload de arquivos PHP no WPForms
Não. As extensões .php, .exe, .js, .jar, .html, .htm, .swf e .json ficam numa denylist permanente do WPForms e não podem ser liberadas pelo campo, mesmo que o WordPress core as aceite.
O formulário envia mas a entrada chega sem o anexo, por que
O arquivo foi recusado em silencio por tamanho ou por cache, e o WPForms concluiu o envio sem o anexo. Revise o Max File Size, os limites de PHP do servidor e a exclusão de cache da página.
O anexo não chega no email de notificação, o que verificar
Confirme que o upload em si foi aceito vendo a entrada em WPForms -> Entradas. Se a entrada tem o arquivo mas o email não, o problema esta no envio de email do site, não no campo de upload.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes