我有以下代码:
<?php
function logAction($action,$file){
/**
* delete the file
*/
if((time()-filectime(ROOT_PATH.'/logs/'.$file)) > LOG_CLEAN){
unlink(ROOT_PATH.'/logs/'.$file);
};
/**
* write the action
*/
$f = fopen(ROOT_PATH.'/logs/'.$file,'a');
$data = "[".date('d-m-Y H:i:s')."] ".$action."\n";
fwrite($f,$data);
fclose($f);
return true;
};
?>
问题是:filectime()没有更改值。当我把它写下来时,它会保持不变,即使生成了一个新文件(例如,如果我手动删除了日志文件)。
我的代码有什么问题?
提前致谢。
答案 0 :(得分:0)
结果filectime()
函数被缓存。使用clearstatcache()
清除缓存。 clearstatcache()
函数清除文件状态缓存。查看此处的文档php filectime() php clearstatcache()