我有一个由我的业务应用程序生成的临时文件夹,并且希望其中的文档只能在大约 30 分钟内可用。我很想建立一个索引来跟踪每个文件的创建时间,但这对于临时文件来说有点愚蠢,它们不太重要,但我希望根据上次修改的时间删除它们.
我需要什么来对我的 Linux 服务器执行此操作?
最佳答案
函数filemtime()将允许您检查文件的最后修改日期。您需要做的是每分钟运行您的 cron
作业并检查它是否大于阈值,并根据需要 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 分钟。
关于PHP:清除 cron 临时文件的好脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3539882/