如何定时删除/data/www/site1/cache目录下及其子目录中创建时间超过5分钟的文件,写出思路并使用PHP写出核心代码;
谢谢了。

解决方案 »

  1.   

    <?php
    define('TMP_DIR', "/data/www/site1/cache");
    public function delOldFile()
    {
      if (is_dir(TMP_DIR)) 
      {
         if ($dh = opendir(TMP_DIR)) 
         {
    while (($file = readdir($dh)) !== false) 
    {
        if(filemtime(TMP_DIR.$file)<mktime(0, 0, 0, date("m"), date("d")-1, date("Y")))
        {
    unlink(TMP_DIR.$file);
        }
    }
    closedir($dh);
        }
      }
    }
    ?>
      

  2.   

     //比当前时间多5分钟
    //时间戳
    filemtime("filename")>strtotime('+5 minute') //或者格式化date("Y-m-d H:i:s",filemtime("filename"))>date("Y-m-d H:i:s",strtotime('+5 minute'))
      

  3.   

    filemtime()文件修改时间小于 strtotime('-5 minute')就是5分钟之前创建的,写好代码加到计划任务中运行,或者写守护进程while(1){}啥的
      

  4.   

    思路:1. 知道如何判断文件创建时间超过五分钟;2. PHP没有定时执行的功能,必须使用set_time_limit(0);来模拟实现这一功能;