php 删除文件时间,php删除文件后重建,文件创建时间(filectime)未变化怎么解决??...

a. php 创建文件名为 test.html 的文件,使用 filectime 获取创建时间 t1

b. php 删除文件名为 test.html 的文件

c. php 重新创建文件名为 test.html 的文件,使用 filectime 获取创建时间 t2

为什么 t1 = t2 ?? 就是创建时间为什么没更新?? 我使用了 clearstatcache 函数清除文件状态缓存也没点用,这个怎么解决??(由于在判断是否重新生成缓存文件的时候,需要知道缓存文件的创建时间,所以很重要..,求解决~)

下面是出现这种情况的问题的代码(有点密,请耐心看下哈):// 页面缓存

if ((defined('DEBUG_MODE') && !DEBUG_MODE) && (defined('CACHE_CONTROL') && CACHE_CONTROL)) {

$opr = $GLOBALS['module'] . '/' . $GLOBALS['platform'] . '/' . $GLOBALS['controller'] . '/' . $GLOBALS['act'];

$cache_name = md5($opr) . TEMPLATE_SUFFIX;

$cache_file = APP_DIR . '/' . $GLOBALS['module'] . '/' . $GLOBALS['platform'] . '/Cache/' . $cache_name;

// 清除文件状态缓存(就我使用的情况来看,压根没毛用...,这什么情况??)

clearstatcache();

// 缓存文件不存在 创建

if (!$GLOBALS['FOpr']->checkFile($cache_file)) {

require_once $view_file;

$GLOBALS['FOpr']->cFile($cache_file);

$GLOBALS['FOpr']->wData($cache_file , ob_get_contents());

} else {

// 超时重新缓存

if (time() > filectime($cache_file) + CACHE_LIFE_TIME) {

require_once $view_file;

// 缓存文件超时时,先删除原缓存文件

$GLOBALS['FOpr']->dFile($cache_file);

// 新建同名缓存文件

//(新建文件时,filectime 获取文件创建时间一直没更新!这个怎么破??

// 这导致我没法重新生成缓存文件了!)

$GLOBALS['FOpr']->cFile($cache_file);

// 写入缓存

$GLOBALS['FOpr']->wData($cache_file , ob_get_contents() , 'w');

} else {

// 加载缓存文件

require_once $cache_file;

}

}

} else {

// 显示动态文件(非缓存)

require_once $view_file;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值