Existe uma maneira de listar todos os arquivos não utilizados que residem dentro do sistema de arquivos público e dentro de um diretório de temas e listá-los, ou talvez até mesmo ter uma opção para excluí-los automaticamente?
Quero dizer arquivos que não estão atualmente vinculados a partir de nenhuma folha de estilo css ou de qualquer nó.
Respostas:
Você pode encontrar arquivos órfãos executando a seguinte consulta do MySQL:
Isso retorna todos os arquivos que não possuem nó associado. Não tenho certeza se é seguro excluir as linhas e arquivos retornados, provavelmente também depende da configuração do módulo. Use apenas por sua conta e risco!
Fonte: http://drupal.org/node/733258#comment-5582764
fonte
Para aqueles que chegam a este post três anos depois, há um pequeno módulo que você pode usar para fazer isso chamado Exclusão de arquivos extravagantes .
No momento desta postagem, ela está na versão beta; portanto, use-a por seu próprio risco. Como sempre, a limpeza de qualquer coisa órfã por meio de consultas ao banco de dados pode ser superficial e seu sucesso depende muito da configuração específica do módulo.
fonte
Algo que pode ajudar a identificar " arquivos que não estão mais anexados a nós ou arquivos e diretórios que não estão na tabela gerenciada por arquivos " (como na pergunta duplicada sobre " Como excluir arquivos não utilizados? "), É usar o comando Módulo Verificador de Arquivos . Alguns detalhes sobre isso, na página do projeto:
Então, o que você poderia fazer é assim:
Nota : embora esta pergunta seja sobre D7, também é uma versão (alfa) para D8.
fonte
existe um módulo que remove arquivos indesejados arquivo fantasia excluir .
fonte
Você pode excluir arquivos não utilizados
Exclua manualmente da tabela file_managed , por alguma consulta como
$this->database ->delete('file_managed') ->condition('fid', $fid, '=') ->execute();
Definir o status de um arquivo 0 , para marcar, é um arquivo temporário; portanto, o cron o excluirá após um certo tempo.
$file = File::load ($fid); $file->setTemporary();
fonte
O módulo de exclusão de arquivos sofisticado não funcionou para mim. Aqui está uma alternativa mais manual.
Para excluir arquivos de uma pasta que não está na tabela de arquivos gerenciados, você pode:
1) Crie uma lista de todos os arquivos gerenciados:
2) Exclua todos os arquivos de um diretório que não está nessa lista. Para fazer isso, usei um pequeno script bash:
Apenas altere a
IMG_FOLDER
variável para o caminho de qualquer pasta da qual você deseja excluir arquivos (e atualize o caminho para o seu arquivo excluído)fonte