2011-09-27 79 views
3

我已經使用某個功能刪除某個文件夾內的所有文件和文件夾。如何刪除超過特定時間的文件/文件夾

function rrmdir($dir) { 
    if (is_dir($dir)) { 
     $objects = scandir($dir); 
     foreach ($objects as $object) { 
      if ($object != "." && $object != "..") { 
       if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); 
      } 
     } 
     reset($objects); 
     rmdir($dir); 
    } 
} 

我現在想要做的是:使該功能適應只刪除超過60分鐘(例如)的文件和文件夾。

有一個php函數'filetime',我相信它給出文件/文件夾的年齡,但我不知道如何刪除特定的文件比「x」分鐘更早。

+0

可能的重複[如何從基於創建日期在php中刪除目錄中的文件?](http://stackoverflow.com/questions/2205738/how-to-delete-files-from-directory-based-on-創建日期功能於PHP) – Gordon

回答

10

此結構將刪除的文件使用filemtime()功能超過60分鐘(3600秒):

if (filemtime($object) < time() - 3600) { 
    // Remove empty directories... 
    if (is_dir($object)) rmdir($object); 
    // Or delete files... 
    else unlink($object); 
} 

注意,對於rmdir()工作,該目錄必須是空的。

相關問題