Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. <?php
  2.  
  3. echo "maintenance...";
  4.  
  5. define("ONE_DAY_IN_SECONDS", 86400);
  6.  
  7. function delete_files_older_than($dir, $fileDateMask, $seconds, $now = NULL) {
  8. if (is_dir($dir) === false) {
  9. echo "Dir $dir doesn't exists\n";
  10. return;
  11. }
  12. if (is_null($now)) {
  13. $now = time();
  14. }
  15.  
  16. echo "Processing dir: $dir\n";
  17. $dirIterator = new FilesystemIterator($dir);
  18. foreach ($dirIterator as $fileInfo) {
  19. if ($fileInfo->isDir()) {
  20. delete_files_older_than($fileInfo->getPathname(), $fileDateMask, $seconds, $now);
  21. $subdirIterator = new FilesystemIterator($fileInfo->getRealPath());
  22. if (!$subdirIterator->valid()) {
  23. echo "Deleting empty dir:" . $fileInfo->getRealPath() . "\n";
  24. rmdir($fileInfo->getRealPath());
  25. }
  26. } else if ($fileInfo->isFile()) {
  27. $fileName = $fileInfo->getFilename();
  28. if (preg_match($fileDateMask, $fileName, $matches)) {
  29. $fileDate = date_create_from_format('YmdHis', $matches[1]);
  30. if ($fileDate === false) {
  31. continue;
  32. }
  33. $fileTimestamp = date_timestamp_get($fileDate);
  34. $fileAge = $now - $fileTimestamp;
  35. if ($fileAge >= $seconds) {
  36. echo "Will delete file: " . $fileInfo->getFilename() . " age: " . $fileAge . "s\n";
  37. unlink($fileInfo->getRealPath());
  38. } else {
  39. echo "Will keep file: " . $fileInfo->getFilename() . " age: " . $fileAge . "s\n";
  40. }
  41. }
  42. }
  43. }
  44. }
  45.  
  46. //clearstatcache();
  47. header("Content-Type: text/plain");
  48.  
  49. $now = time();
  50. $safeMode = ini_get('safe_mode');
  51. echo "Safe mode: $safeMode\n";
  52. echo "Now timestamp: $now\n";
  53. echo "Max file age: " . ONE_DAY_IN_SECONDS . "s\n";
  54.  
  55. $dirName = realpath(dirname(__DIR__) . DIRECTORY_SEPARATOR . 'cam');
  56. delete_files_older_than($dirName, '/camera[0-9]*_([0-9]+)\.jpg/', ONE_DAY_IN_SECONDS, $now);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement