php如何根据文件的创建日期在目录中删除文件?
百科、经验、问答,小黄鸡全都有!

php如何根据文件的创建日期在目录中删除文件?

IT编程qingyu2020-12-10 5:53:531942A+A-

  php如何根据文件的创建日期在目录中删除文件?

php如何根据文件的创建日期在目录中删除文件?

  问题描述:

  我有一个存储html文件的缓存文件夹。它们在需要时会被覆盖,但是很多时候,很少使用(几乎不用)的页面也会在那里存储。差不多一个月,硬盘已存了270万个缓存html文件)。

  那么问题来了,php循环访问包含数十万个文件的目录并删除早于1天的html文件的最好的方法是什么?

  回答:

  php中可以通过使用readdir函数遍历目录并根据时间戳进行删除缓存的html来解决这个问题:

<?php$path = '/path/to/files/';if ($handle = opendir($path)) {
    while (false !== ($file = readdir($handle))) { 
        $filelastmodified = filemtime($path . $file);
        //24 hours in a day * 3600 seconds per hour
        if((time() - $filelastmodified) > 24*3600)
        {
           unlink($path . $file);
        }
    }
    closedir($handle); }?>

  在if((time() - $filelastmodified) > 24*3600)将选择的文件超过24小时以上(每小时3600秒)。如果需要几天,比如一周的时间是这样的: 7 * 24 * 3600。

  另外要注意,filemtime返回文件的最后修改时间,而不是创建日期。

首页 © All Rights Reserved.  
网站备案号:闽ICP备18012015号-4
Powered by 网站地图 关于我们| 留言建议|