Exclui os arquivos temporários no servidor (pasta temp e output) Pra ajudar a todos vou deixar aqui um serviço pra excluir arquivos temporários das pastas tmp e app/output Este serviço deve ser incluído no Crontab pra rodar periodicamente. Seu objetivo é ficar deletando os arquivos temporários para não consumir muito do HD. ...
RM
Exclui os arquivos temporários no servidor (pasta temp e output)  
Pra ajudar a todos vou deixar aqui um serviço pra excluir arquivos temporários das pastas tmp e app/output

Este serviço deve ser incluído no Crontab pra rodar periodicamente.
Seu objetivo é ficar deletando os arquivos temporários para não consumir muito do HD.

 
  1. <?php
  2. /**
  3. * garbageColectorService
  4. *
  5. * Exclui os arquivos temporários no servidor (pasta temp, output, etc)
  6. * @package service
  7. * @author Ricardo Câmara (camaramachado@gmail.com)
  8. * @version 1.0
  9. *
  10. * Comando cron: /usr/local/bin/php /home/sistema/public_html/cmd.php "class=GarbageColectorService&method=clear&static=1"
  11. */
  12. class GarbageColectorService
  13. {
  14. /**
  15. * @method clear
  16. * Exclui os arquivos temporários.
  17. * @param $param['pastas'] array com os diretorios dos arquivos que serão deletados.
  18. por padrão apaga em tmp e app/output
  19. * @param $param['extensoes'] array com as extensões dos arquivos que se deseja apagar
  20. * por padrão apaga: pdf, jpg, jpeg, png, xls, doc, csv, html.
  21. * @returns void
  22. */
  23. public static function clear(array $param): void
  24. {
  25. $pastas = isset($param['pastas']) ? $param['pastas'] : ['tmp', 'app/output'];
  26. $extensoes = isset($param['extensoes']) ? $param['extensoes'] : ['pdf', 'jpg', 'jpeg', 'png', 'xls', 'doc', 'csv', 'html', 'xml', 'rtf'];
  27. foreach($pastas as $pasta)
  28. {
  29. if( !is_dir( $pasta ) ) {
  30. die ( "Diretório inválido.\n\n" );
  31. }
  32. $prepara = '';
  33. $cont = count($extensoes);
  34. foreach($extensoes as $key => $extensao)
  35. {
  36. $prepara .= $pasta . '/*.' .$extensao; //tmp22/*.pdf,tmp22/*.txt,tmp22/*.jpg,tmp22/*.jpeg,tmp22/*.png
  37. $prepara .= ($key < $cont -1) ? ',' : ''; //checa se deve incluir a vírgula pra não entrar após a última extensão
  38. }
  39. $prepara = '{' . $prepara . '}';
  40. $lista = glob($prepara, GLOB_BRACE);
  41. array_map('unlink', $lista);
  42. }
  43. }
  44. }
  45. ?>
Editado 04/08/2023 (há 1 ano) - Clique para ver alterações

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (0)