【问题标题】:PHP: A good script to clear temporary file for cron?PHP:清除 cron 临时文件的好脚本?
【发布时间】:2010-08-22 02:39:07
【问题描述】:

我有一个由我的业务应用程序生成的临时文件夹,并希望其中的文档仅可使用大约 30 分钟。我很想建立一个索引来跟踪每个文件的创建时间,但这对于临时文件来说有点傻,它们不是很重要,但我希望根据它们最后修改的时间删除它们.

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

【问题讨论】:

    标签: php security cron temporary-files


    【解决方案1】:

    函数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 分钟。

    【讨论】:

      【解决方案2】:

      您只需要在文件上调用stat 并根据他们的mtime 决定是否unlink

      每隔十分钟左右从cronanacron 调用此脚本。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-13
        • 1970-01-01
        • 1970-01-01
        • 2017-01-06
        • 1970-01-01
        相关资源
        最近更新 更多