php生成日期目录,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返回文件的最后修改时间,而不是创建日期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值