# Como corrigir upload de arquivos em tarefas no Tutor LMS

O Tutor LMS assignment não aceita upload quando o addon Assignments tem o File Upload Limit em zero, quando o tamanho do arquivo passa do Maximum File Size Limit configurado, ou quando limites de PHP do servidor barram o envio antes de o Tutor LMS processar a tarefa.

## O que é upload de arquivos em tarefas do Tutor LMS?

O Tutor LMS assignment upload e o recurso do addon Assignments (exclusivo da versão Pro) que permite ao aluno anexar arquivos ao enviar uma tarefa. Na página do curso, o aluno clica em Start Assignment Submit, escreve a resposta e usa o botão Choose File para anexar documentos antes de clicar em Submit Assignment. Quando esse fluxo quebra, o campo de upload some, o botão de anexar não aparece, ou o envio falha mesmo com o arquivo selecionado.

O comportamento do upload e controlado por dois campos do próprio assignment, definidos pelo instrutor no editor da tarefa: o File Upload Limit (quantidade de arquivos que o aluno pode anexar, sendo que zero desativa o upload por completo) e o Maximum File Size Limit (tamanho máximo por arquivo, em megabytes). Acima dessas regras do addon ainda atuam os limites do PHP no servidor (upload_max_filesize, post_max_size), que rejeitam o arquivo antes mesmo de o Tutor LMS receber a submissao. Por isso o erro pode estar na configuração da tarefa ou no ambiente do servidor.

## Como identificar

- O aluno abre a tarefa, mas o botão 'Choose File' (Escolher arquivo) não aparece no formulário de Start Assignment Submit.
- Ao tentar enviar, surge a mensagem 'File size exceeds the maximum limit' ou a tarefa simplesmente não conclui o envio.
- O arquivo aparece como selecionado, mas após clicar em 'Submit Assignment' a página recarrega sem registrar o anexo.
- Arquivos grandes (PDF ou ZIP) falham, enquanto arquivos pequenos do mesmo aluno passam normalmente.
- No painel do instrutor a submissao do aluno chega sem o anexo, apenas com o texto da resposta.

**Antes de começar:** Antes de editar o php.ini ou o wp-config e antes de desativar plugins em producao, faça um backup completo do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, para poder reverter caso algo no envio de tarefas quebre.

## Como prevenir

- Ao criar cada tarefa, sempre defina o File Upload Limit maior que zero e um Maximum File Size Limit realista para o tipo de arquivo esperado do aluno.
- Mantenha upload_max_filesize e post_max_size do servidor sempre acima do maior tamanho de anexo que as tarefas do curso aceitam, evitando rejeicao silenciosa.
- Padronize um modelo de tarefa com os limites de upload já preenchidos para que novos instrutores não deixem o campo em zero por engano.
- Teste o envio de uma tarefa com um aluno de teste após publicar o curso, garantindo que o anexo chega ao painel do instrutor antes de abrir as matriculas.

Erros relacionados

- [Como corrigir quizzes que não salvam respostas no Tutor LMS](https://full.services/wp-fixer/corrigir-quiz-nao-salva-tutor-lms/)
- [Como corrigir o progresso do aluno que não atualiza no Tutor LMS](https://full.services/wp-fixer/corrigir-progresso-aluno-tutor-lms/)
- [Como corrigir e-mails de notificação que não chegam no Tutor LMS](https://full.services/wp-fixer/corrigir-email-notificacao-tutor-lms/)

## Causa

- O campo File Upload Limit do assignment esta definido como zero no editor da tarefa, o que desativa o upload de arquivos por completo segundo a documentação do addon Assignments.
- O arquivo enviado pelo aluno ultrapassa o valor configurado no campo Maximum File Size Limit (em MB) daquela tarefa, fazendo o Tutor LMS recusar o anexo.
- Os limites do PHP no servidor, upload_max_filesize e post_max_size, são menores que o tamanho do arquivo, entao o WordPress descarta o upload antes de o Tutor LMS processar a submissao.
- O addon Assignments não esta ativado em Tutor LMS Pro -> Addons, entao o recurso de tarefa com anexo não existe naquele curso (assignments e exclusivo da versão Pro).
- Um conflito de JavaScript com outro plugin ou tema interrompe o carregamento do formulário de submissao, impedindo o botão Choose File de aparecer na página da tarefa.

## Como resolver

1. Confirme que o addon Assignments esta ativo: O recurso de tarefas com upload pertence ao addon Assignments, exclusivo do Tutor LMS Pro. Sem ele ativado, o campo de anexo não existe no curso. Ative o addon antes de qualquer ajuste.

```
Painel WP -> Tutor LMS Pro -> Addons
Localize 'Assignments' e ligue a chave para Ativar
```

2. Ajuste o File Upload Limit da tarefa: Abra a tarefa no Course Builder e confira o campo File Upload Limit. Se estiver em zero, o upload fica desativado. Defina um número maior que zero para liberar os anexos do aluno.

```
Painel WP -> Cursos -> abra o curso -> Course Builder
Edite a Assignment (tarefa) do topico
No campo 'File Upload Limit' informe um valor maior que 0 (ex.: 1)
```

3. Aumente o Maximum File Size Limit da tarefa: Ainda no editor da tarefa, ajuste o campo Maximum File Size Limit, medido em megabytes, para um valor compativel com os arquivos que o aluno precisa enviar. Esse limite recusa qualquer arquivo acima do valor informado.

```
No editor da Assignment, localize 'Maximum File Size Limit'
Informe o tamanho máximo em MB (ex.: 10 para permitir até 10 MB)
Salve a tarefa (Update)
```

4. Eleve os limites de upload do PHP no servidor: Se a tarefa já libera o anexo mas arquivos grandes ainda falham, o limite esta no PHP do servidor. Aumente upload_max_filesize e post_max_size para um valor acima do Maximum File Size Limit da tarefa, via php.ini ou wp-config.

```
Edite o php.ini do servidor (ou peca o ajuste a hospedagem)
upload_max_filesize = 64M
post_max_size = 64M
Reinicie o PHP-FPM ou o servidor web para aplicar
```

5. Isole conflito de plugin ou tema: Se o botão Choose File não aparece nem com tudo configurado, teste um conflito. Desative os demais plugins um a um e troque para um tema padrão, recarregando a página da tarefa a cada teste até o formulário de upload voltar.

```
Painel WP -> Plugins -> desative os demais plugins um a um
Painel WP -> Aparencia -> Temas -> ative um tema padrão (ex.: Twenty Twenty-Four)
Recarregue a página da tarefa e teste o botão 'Choose File' a cada passo
```


## Código

```php
<?php
// Em functions.php do tema filho: eleva os limites de upload do WordPress
// para tarefas (assignments) do Tutor LMS com anexos maiores.

// 1. Aumenta o teto que o WordPress informa ao formulario de upload.
add_filter( 'upload_size_limit', function( $bytes ) {
    return 64 * 1024 * 1024; // 64 MB
} );

// 2. Tenta elevar os limites do PHP em runtime (depende do host permitir).
add_action( 'init', function() {
    @ini_set( 'upload_max_filesize', '64M' );
    @ini_set( 'post_max_size', '64M' );
} );
```

## Perguntas frequentes

### Por que meu aluno não consegue anexar arquivo na tarefa do Tutor LMS

Na maioria dos casos o campo File Upload Limit da tarefa esta em zero, o que desativa o upload segundo a documentação do addon Assignments. Abra a tarefa no Course Builder e defina um valor maior que zero para liberar os anexos do aluno.

### O upload de arquivos em tarefas funciona no Tutor LMS gratuito

Não. O recurso de tarefas, o addon Assignments, e exclusivo do Tutor LMS Pro. Na versão gratuita o curso não tem o tipo de conteúdo Assignment, entao não existe o formulário de envio com anexo para o aluno.

### Qual o tamanho máximo de arquivo que o aluno pode enviar na tarefa

Depende do campo Maximum File Size Limit definido em megabytes em cada tarefa e também dos limites do PHP no servidor (upload_max_filesize e post_max_size). O menor dos dois vale, entao alinhe os dois valores para o tamanho que você precisa aceitar.

### Aumentei o limite na tarefa mas arquivos grandes ainda falham, o que fazer

Nesse caso o limite esta no servidor, não no Tutor LMS. Aumente upload_max_filesize e post_max_size no php.ini ou peça o ajuste a hospedagem, deixando os dois acima do Maximum File Size Limit da tarefa, e reinicie o PHP.

### O botão Choose File não aparece no formulário da tarefa, por que

Isso costuma indicar File Upload Limit em zero ou um conflito de JavaScript com outro plugin ou tema que interrompe o carregamento do formulário. Confirme o limite da tarefa e, se persistir, desative os demais plugins e troque o tema para isolar o conflito.

### Como o aluno envia uma tarefa com anexo no Tutor LMS

Na página do curso o aluno clica em Start Assignment Submit, escreve a resposta, usa o botão Choose File para selecionar o arquivo e finaliza em Submit Assignment. Ele pode remover um arquivo errado antes de concluir o envio.

### Posso permitir mais de um arquivo por tarefa

Sim. O campo File Upload Limit define quantos arquivos o aluno pode anexar na mesma submissao. Informe o número desejado de arquivos no editor da tarefa, lembrando que zero desativa o upload por completo.

**Fonte:** [Tutor LMS Documentation — Assignments addon (Themeum)](https://docs.themeum.com/tutor-lms/addons/assignments/)
