cleancache.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. chdir(dirname(dirname(dirname(__FILE__))));
  3. include './framework/router.class.php';
  4. include './framework/control.class.php';
  5. include './framework/model.class.php';
  6. include './framework/helper.class.php';
  7. $app = router::createApp('pms', dirname(dirname(dirname(__FILE__))), 'router');
  8. $cacheConfig = $app->config->cache;
  9. if(!$cacheConfig->enable && !$cacheConfig->enableFullPage)
  10. {
  11. echo 'Cache is disabled.', PHP_EOL;
  12. exit;
  13. }
  14. function traverseDirectory($directory, &$cleanNum)
  15. {
  16. $files = glob($directory . DS . '*.cache');
  17. foreach($files as $file)
  18. {
  19. $result = viewFileContent($file);
  20. if(!$result) $cleanNum ++;
  21. }
  22. $subdirectories = glob($directory . DS . '*', GLOB_ONLYDIR);
  23. foreach($subdirectories as $subdirectory) traverseDirectory($subdirectory, $cleanNum);
  24. }
  25. function isExpired($payload)
  26. {
  27. if(is_null($payload['time'])) return false;
  28. return time() > $payload['time'];
  29. }
  30. function viewFileContent($file)
  31. {
  32. $content = file_get_contents($file);
  33. $content = unserialize($content);
  34. if(isExpired($content))
  35. {
  36. unlink($file);
  37. return false;
  38. }
  39. return true;
  40. }
  41. $cleanNum = 0;
  42. traverseDirectory(rtrim($app->getCacheRoot(), DS), $cleanNum);
  43. echo "Cleaned {$cleanNum} cache files.", PHP_EOL;