SystemClear.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace app\admin\controller\system;
  3. use app\admin\controller\AuthController;
  4. use service\CacheService;
  5. use service\JsonService as Json;
  6. /**
  7. * 清除缓存
  8. * Class Clear
  9. * @package app\admin\controller
  10. *
  11. */
  12. class systemClear extends AuthController
  13. {
  14. public function index()
  15. {
  16. return $this->fetch();
  17. }
  18. public function refresh_cache(){
  19. `php think optimize:schema`;
  20. `php think optimize:autoload`;
  21. `php think optimize:route`;
  22. `php think optimize:config`;
  23. return Json::successful('数据缓存刷新成功!');
  24. }
  25. public function delete_cache(){
  26. $this->delDirAndFile("./runtime/temp");
  27. $this->delDirAndFile("./runtime/cache");
  28. return Json::successful('清除缓存成功!');
  29. }
  30. public function delete_log(){
  31. $this->delDirAndFile("./runtime/log");
  32. return Json::successful('清除日志成功!');
  33. }
  34. function delDirAndFile($dirName,$subdir=true){
  35. if ($handle = opendir("$dirName")){
  36. while(false !== ($item = readdir($handle))){
  37. if($item != "." && $item != ".."){
  38. if(is_dir("$dirName/$item"))
  39. $this->delDirAndFile("$dirName/$item",false);
  40. else
  41. @unlink("$dirName/$item");
  42. }
  43. }
  44. closedir($handle);
  45. if(!$subdir) @rmdir($dirName);
  46. }
  47. }
  48. }