🎉 USE O CUPOM FIM.DE.SEMANA.FULL | 20% OFF acima de R$ 100,00

Como corrigir o erro de File Upload por permissões de pasta no ACF PRO

Time Full Services Time Full Services
Tipo Page Builders
Nome do erro Falha ao enviar arquivo por permissao da pasta uploads no campo File do ACF PRO EN: Unable to create directory wp-content/uploads. Is its parent directory writable by the server?
Severidade Atenção
Descrição O erro de File Upload por permissões de pasta no ACF PRO acontece quando o campo File usa a media popup nativa do WordPress para enviar um arquivo, mas a pasta wp-content/uploads não tem permissão de escrita para o usuário do servidor web, e o upload falha antes de o arquivo ser anexado ao campo.

O que é erro de File Upload por permissões de pasta no ACF PRO?

O erro de File Upload por permissões de pasta no ACF PRO surge no campo File, um tipo de campo que, segundo a documentação oficial do ACF, permite enviar e selecionar um arquivo usando a janela de mídia nativa do WordPress (a native WP media popup). Quando você clica em adicionar arquivo e arrasta um documento para enviar, quem grava o arquivo não e o ACF: e o próprio WordPress, que escreve o arquivo dentro de wp-content/uploads. O ACF apenas guarda a referencia (o ID, a URL ou o array do anexo, conforme o Return Format configurado).

A falha aparece quando a pasta de uploads não tem permissão de escrita para o usuário que roda o PHP no servidor. O WordPress não consegue mover o arquivo do diretório temporario para a pasta de destino, devolve um erro de upload, e o campo File do ACF fica vazio porque nenhum anexo foi criado. Por isso o sintoma parece ser do ACF, mas a causa raiz esta nas permissões do diretório wp-content/uploads e na propriedade (ownership) dos arquivos, não no plugin.

Como identificar

  • Ao enviar um arquivo pela janela de mídia do campo File aparece a mensagem ‘Não foi possível gravar o arquivo no disco.’ ou, em ingles, ‘Unable to create directory wp-content/uploads. Is its parent directory writable by the server?’.
  • O upload trava na barra de progresso, o arquivo nunca termina de subir e o campo File do ACF continua vazio depois de fechar a janela.
  • Outros campos File do ACF que já tinham arquivos antigos continuam funcionando, mas qualquer envio novo falha.
  • A mensagem ‘Falha ao processar o erro do servidor’ (HTTP error) aparece na media library ao tentar arrastar o arquivo para enviar.
  • No log de erros do PHP surge um aviso de move_uploaded_file ou de permissão negada (Permission denied) apontando para o caminho wp-content/uploads.
Antes de começar: Antes de alterar permissões ou propriedade de pastas e de mexer em limites do PHP em producao, faca um backup completo do site (arquivos e banco de dados) ou teste em um ambiente de staging. Nunca aplique 777 na pasta uploads: isso libera escrita para qualquer processo e e um risco de segurança; 755 nas pastas e 644 nos arquivos são os valores indicados.

Como prevenir

  • Mantenha as pastas em 755 e os arquivos em 644 dentro de wp-content/uploads, com o dono igual ao usuário do servidor web, conforme a orientacao de permissões do WordPress.
  • Evite copiar arquivos para o servidor como root ou por um usuário diferente do PHP, para não herdar uma propriedade que bloqueia o upload do ACF depois.
  • Defina upload_max_filesize e post_max_size do PHP com folga acima do maior arquivo esperado e alinhe o Maximum file size do campo File a esse limite.
  • Documente no campo File quais extensões são aceitas na opção Allowed File Types, para evitar recusas silenciosas de upload por tipo de arquivo.

Causa

  • A pasta wp-content/uploads (ou a subpasta do ano e mes corrente, como uploads/2026/06) esta com permissão restritiva, sem o bit de escrita para o usuário que roda o PHP, e o WordPress não consegue mover o arquivo enviado pelo campo File para o destino.
  • O dono (ownership) da pasta uploads e diferente do usuário do servidor web (por exemplo, arquivos copiados via root pertencem a root e não ao usuário do PHP-FPM), entao mesmo com 755 a escrita e negada para quem processa o upload do ACF.
  • O arquivo enviado excede o limite definido em upload_max_filesize ou post_max_size do PHP, ou estoura o Maximum file size configurado no próprio campo File do ACF, e o envio e abortado antes de gravar.
  • A extensão do arquivo não esta na lista Allowed File Types do campo File do ACF, que adiciona validação de upload por tipo de arquivo, e o ACF recusa o envio mesmo com a pasta gravavel.
  • Um plugin de segurança ou uma regra no servidor bloqueia a escrita ou a execução dentro de wp-content/uploads, fazendo o WordPress falhar ao criar a subpasta de destino do anexo.

Como resolver

  1. Confirme que o erro e de permissão de pasta: Tente enviar uma imagem direto pela Biblioteca de Mídia do WordPress, sem passar pelo ACF. Se o upload também falhar ali, o problema e do WordPress e da pasta uploads, não do campo File do ACF. Isso isola a causa antes de mexer em permissões.
    Painel WP -> Mídia -> Adicionar nova mídia
    Arraste um arquivo e observe se a falha de upload se repete fora do ACF
  2. Ajuste a permissão da pasta uploads via FTP: Conecte ao site por um cliente FTP/SFTP, abra wp-content e ajuste a pasta uploads e suas subpastas para 755, que e o valor que a documentação do WordPress indica quando a pasta precisa ser gravavel. Aplique a permissão de forma recursiva nas subpastas de ano e mes.
    Conecte por FTP/SFTP e navegue até wp-content
    Clique com o botão direito em uploads -> Permissões de arquivo (File permissions)
    Defina o valor numerico 755 e marque 'Aplicar recursivamente aos subdiretorios'
  3. Corrija o dono (ownership) da pasta uploads via SSH: Se mesmo com 755 o upload do campo File continua falhando, o dono da pasta provavelmente não e o usuário do servidor web. Acesse por SSH e devolva a propriedade ao usuário do PHP (frequentemente www-data no Apache/Nginx). Confirme o usuário correto com seu provedor de hospedagem antes.
    chown -R www-data:www-data wp-content/uploads
    find wp-content/uploads -type d -exec chmod 755 {} ;
    find wp-content/uploads -type f -exec chmod 644 {} ;
  4. Verifique os limites de tamanho do PHP e do campo: Se a pasta já esta gravavel mas arquivos grandes ainda falham, o upload pode estar batendo no limite do PHP ou no Maximum file size do próprio campo File. Aumente os limites do PHP e revise a configuração do campo no ACF.
    Painel WP -> Ferramentas -> Saude do site -> Informações -> Servidor (veja upload_max_filesize e post_max_size)
    Painel WP -> ACF -> abra o Grupo de Campos -> campo File -> revise 'Maximum file size'
    Ajuste upload_max_filesize e post_max_size no php.ini ou no .htaccess para um valor maior que o arquivo enviado
  5. Confira a lista Allowed File Types do campo: Se o erro so acontece com certas extensões, o campo File pode estar recusando o tipo de arquivo. A documentação do ACF indica que o campo adiciona validação de upload por tipo: deixe a lista em branco para aceitar todos ou inclua a extensão desejada separada por virgula.
    Painel WP -> ACF -> Grupos de Campos -> abra o grupo e o campo File
    Em 'Allowed File Types', deixe vazio para todos ou liste as extensões (ex.: pdf, jpg, png)
BASH
# Ajuste de permissoes e dono da pasta de uploads (rode via SSH na raiz do WordPress)
# Confirme o usuario do servidor web com seu provedor (ex.: www-data, nginx, apache).

# 1. Devolve a propriedade da pasta uploads ao usuario do PHP/servidor web
chown -R www-data:www-data wp-content/uploads

# 2. Pastas em 755 (a documentacao do WordPress indica esse valor quando a pasta precisa ser gravavel)
find wp-content/uploads -type d -exec chmod 755 {} ;

# 3. Arquivos em 644
find wp-content/uploads -type f -exec chmod 644 {} ;

# 4. Confirma se o usuario do PHP consegue escrever (deve retornar 'ok')
sudo -u www-data test -w wp-content/uploads && echo ok || echo "sem permissao de escrita"

Perguntas frequentes

Por que o campo File do ACF PRO não consegue enviar arquivos
Na maioria dos casos a pasta wp-content/uploads não tem permissão de escrita para o usuário do servidor web. O campo File usa a janela de mídia nativa do WordPress, que grava o arquivo em uploads; se a pasta não for gravavel, o upload falha e o campo fica vazio.
Qual permissão a pasta uploads precisa ter para o ACF funcionar
A documentação do WordPress indica 755 para a pasta uploads quando ela precisa ser gravavel, e 644 para os arquivos. Também e preciso que o dono da pasta seja o mesmo usuário que executa o PHP, senao a escrita continua sendo negada.
O erro de upload e do ACF ou do WordPress
A causa raiz costuma ser do WordPress. O campo File apenas abre a media popup nativa e guarda a referencia do anexo; quem grava o arquivo em disco e o WordPress. Se o upload falha também direto na Biblioteca de Mídia, o problema esta na pasta uploads.
Devo usar 777 na pasta uploads para resolver
Não. O 777 libera escrita para qualquer processo do servidor e e um risco de segurança. Use 755 nas pastas e 644 nos arquivos e corrija o dono (ownership) para o usuário do servidor web, que resolve o problema sem expor o site.
O tamanho do arquivo pode causar a falha de upload no ACF
Pode. Se o arquivo passa do upload_max_filesize ou post_max_size do PHP, ou do Maximum file size configurado no próprio campo File, o envio e abortado. Aumente os limites do PHP e revise a configuração de tamanho do campo no ACF.
Por que so alguns tipos de arquivo falham no campo File
O campo File do ACF adiciona validação por tipo na opção Allowed File Types. Se a extensão não estiver na lista, o envio e recusado. Deixe a opção em branco para aceitar todos os tipos ou inclua as extensões desejadas separadas por virgula.
Como descubro qual usuário do servidor precisa ser dono da pasta
Depende da configuração do servidor; em muitos casos e o www-data no Apache ou Nginx com PHP-FPM. Confirme com seu provedor de hospedagem e aplique o chown na pasta uploads para esse usuário antes de ajustar as permissões.

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