下面是一個php緩存文件實現類,根據我的經驗,緩存文件是根據用戶設置的時間與文件生成的日間以及當前時間進行比較,然後再判斷是否需要重新生成緩存文件。*/
下面是一個php教程緩存文件實現類,根據我的經驗,緩存文件是根據用戶設置的時間與文件生成的日間以及當前時間進行比較,然後再判斷是否需要重新生成緩存文件。*/
class pagecache {
/**
* @var string $file 緩存文件地址
* @access public
*/
public $file;
/**
* @var int $cachetime 緩存時間
* @access public
*/
public $cachetime = 3600;
/**
* 構造函數
* @param string $file 緩存文件地址
* @param int $cachetime 緩存時間
*/
function __construct($file, $cachetime = 3600) {
$this->file = $file;
$this->cachetime = $cachetime;
}
/**
* 取緩存內容
* @param bool 是否直接輸出,true直接轉到緩存頁,false返回緩存內容
* @return mixed
*/
public function get($output = true) {
if (is_file($this->file) && (time()-filemtime($this->file))<=$this->cachetime && !$_get['nocache']) {
if ($output) {
header('location:' . $this->file);
exit;
} else {
return file_get_contents($this->file);
}
} else {
return false;
}
}
/**
* 設置緩存內容
* @param $content 內容html字符串
*/
public function set($content) {
$fp = fopen($this->file, 'w');
fwrite($fp, $content);
fclose($fp);
}
}