2010-08-22 67 views
2

我有一个由我的业务应用程序生成的临时文件夹,并希望其中的文档仅可用于大约30分钟。我很想创建一个索引来跟踪每个文件的创建时间,但对于临时文件来说这会有点愚蠢,但它们并不太重要,但我希望它们根据上次修改时间来删除。PHP:一个很好的脚本来清除cron的临时文件?

我需要用我的Linux服务器来做什么?

回答

2

函数filemtime()将允许您检查文件的最后修改日期。您需要做的是每分钟运行一次您的作业,并检查它是否大于阈值,并根据需要确定是否为unlink()

$time = 30; //in minutes, time until file deletion threshold 
foreach (glob("app/temp/*.tmp") as $filename) { 
    if (file_exists($filename)) { 
     if(time() - filemtime($filename) > $time * 60) { 
      unlink($filename); 
     } 
    } 
} 

这应该是最有效的方法,你的要求,改变的cron门槛为10分钟,如果你需要的情况下有很多文件不太准确。

+0

很棒的代码感谢 – wired00 2012-04-04 03:03:02

1

您只需要在文件上调用stat,然后根据它们的mtime决定是否要unlink

cronanacron每隔十分钟左右调用一次该脚本。

或者你可以使用tmpwatch,这是一个专门为此目的而设计的程序。