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;
}
總結
以上是生活随笔為你收集整理的php 删除文件时间,php删除文件后重建,文件创建时间(filectime)未变化怎么解决??...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php中求数据库两个数的和,php –
- 下一篇: php画中画,画中画功能 怎么将两个视频