亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 建站經驗 > 正文

PHP實現的簡單緩存類

2024-04-25 20:40:18
字體:
來源:轉載
供稿:網友

本文實例講述了PHP實現的簡單緩存類。分享給大家供大家參考。具體如下:

cache.inc.php:

<?php

class Cache {

/**

* $dir : 緩存文件存放目錄

* $lifetime : 緩存文件有效期,單位為秒

* $cacheid : 緩存文件路徑,包含文件名

* $ext : 緩存文件擴展名(可以不用),這里使用是為了查看文件方便

*/

private $dir;

private $lifetime;

private $cacheid;

private $ext;

/**

* 析構函數,檢查緩存目錄是否有效,默認賦值

*/

function __construct($dir='',$lifetime=1800) {

if ($this->dir_isvalid($dir)) {

$this->dir = $dir;

$this->lifetime = $lifetime;

$this->ext = '.Php';

$this->cacheid = $this->getcacheid();

}

}

/**

* 檢查緩存是否有效

*/

private function isvalid() {

if (!file_exists($this->cacheid)) return false;

if (!(@$mtime = filemtime($this->cacheid))) return false;

if (mktime() - $mtime > $this->lifetime) return false;

return true;

}

/**

* 寫入緩存

* $mode == 0 , 以瀏覽器緩存的方式取得頁面內容

* $mode == 1 , 以直接賦值(通過$content參數接收)的方式取得頁面內容

* $mode == 2 , 以本地讀取(fopen ile_get_contents)的方式取得頁面內容(似乎這種方式沒什么必要)

*/

public function write($mode=0,$content='') {

switch ($mode) {

case 0:

$content = ob_get_contents();

break;

default:

break;

}

ob_end_flush();

try {

file_put_contents($this->cacheid,$content);

}

catch (Exception $e) {

$this->error('寫入緩存失敗!請檢查目錄權限!');

}

}

/**

* 加載緩存

* exit() 載入緩存后終止原頁面程序的執行,緩存無效則運行原頁面程序生成緩存

* ob_start() 開啟瀏覽器緩存用于在頁面結尾處取得頁面內容

*/

public function load() {

if ($this->isvalid()) {

echo "<span style='display:none;'>This is Cache.</span> ";

//以下兩種方式,哪種方式好?????

require_once($this->cacheid);

//echo file_get_contents($this->cacheid);

exit();

}

else {

ob_start();

}

}

/**

* 清除緩存

*/

public function clean() {

try {

unlink($this->cacheid);

}

catch (Exception $e) {

$this->error('清除緩存文件失敗!請檢查目錄權限!');

}

}

/**

* 取得緩存文件路徑

*/

private function getcacheid() {

return $this->dir.md5($this->geturl()).$this->ext;

}

/**

* 檢查目錄是否存在或是否可創建

*/

private function dir_isvalid($dir) {

if (is_dir($dir)) return true;

try {

mkdir($dir,0777);

}

catch (Exception $e) {

$this->error('所設定緩存目錄不存在并且創建失敗!請檢查目錄權限!');

return false;

}

return true;

}

/**

* 取得當前頁面完整url

*/

private function geturl() {

$url = '';

if (isset($_SERVER['REQUEST_URI'])) {

$url = $_SERVER['REQUEST_URI'];

}

else {

$url = $_SERVER['Php_SELF'];

$url .= empty($_SERVER['QUERY_STRING'])?'':'?'.$_SERVER['QUERY_STRING'];

}

return $url;

}

/**

* 輸出錯誤信息

*/

private function error($str) {

echo '<div style="color:red;">'.$str.'</div>';

}

}

?>

demo.php:

<?php

/*

* 可自由轉載使用,請保留版權信息,謝謝使用!

* Class Name : Cache (For Php5)

* Version : 1.0

* Description : 動態緩存類,用于控制頁面自動生成緩存、調用緩存、更新緩存、刪除緩存.

* Last Modify : 2007-8-22

* Remark :

1.此版本為Php5版本,本人暫沒有寫Php4的版本,如需要請自行參考修改(比較容易啦,不要那么懶嘛,呵呵!).

2.此版本為utf-8編碼,如果網站采用其它編碼請自行轉換,Windows系統用記事本打開另存為,選擇相應編碼即可(一般ANSI),Linux下請使用相應編輯軟件或iconv命令行.

3.拷貝粘貼的就不用管上面第2條了.

* 關于緩存的一點感想:

* 動態緩存和靜態緩存的根本差別在于其是自動的,用戶訪問頁面過程就是生成緩存、瀏覽緩存、更新緩存的過程,無需人工操作干預.

* 靜態緩存指的就是生成靜態頁面,相關操作一般是在網站后臺完成,需人工操作(也就是手動生成).

*/

/*

* 使用方法舉例*/

//Demo1:

require_once('cache.inc.php');

$cachedir = './Cache/'; //設定緩存目錄

$cache = new Cache($cachedir,10); //省略參數即采用缺省設置, $cache = new Cache($cachedir);

if ($_GET['cacheact'] != 'rewrite') //此處為一技巧,通過xx.Php?cacheact=rewrite更新緩存,以此類推,還可以設定一些其它操作

$cache->load(); //裝載緩存,緩存有效則不執行以下頁面代碼

//頁面代碼開始

echo date('H:i:s jS F');

//頁面代碼結束

$cache->write(); //首次運行或緩存過期,生成緩存

//Demo2:

require_once('cache.inc.php');

$cachedir = './Cache/'; //設定緩存目錄

$cache = new Cache($cachedir,10); //省略參數即采用缺省設置, $cache = new Cache($cachedir);

if ($_GET['cacheact'] != 'rewrite') //此處為一技巧,通過xx.Php?cacheact=rewrite更新緩存,以此類推,還可以設定一些其它操作

$cache->load(); //裝載緩存,緩存有效則不執行以下頁面代碼

//頁面代碼開始

$content = date('H:i:s jS F');

echo $content;

//頁面代碼結束

$cache->write(1,$content); //首次運行或緩存過期,生成緩存

//Demo3:

require_once('cache.inc.php');

define('CACHEENABLE',true);

if (CACHEENABLE) {

$cachedir = './Cache/'; //設定緩存目錄

$cache = new Cache($cachedir,10); //省略參數即采用缺省設置, $cache = new Cache($cachedir);

if ($_GET['cacheact'] != 'rewrite') //此處為一技巧,通過xx.Php?cacheact=rewrite更新緩存,以此類推,還可以設定一些其它操作

$cache->load(); //裝載緩存,緩存有效則不執行以下頁面代碼

}

//頁面代碼開始

$content = date('H:i:s jS F');

echo $content;

//頁面代碼結束

if (CACHEENABLE)

$cache->write(1,$content); //首次運行或緩存過期,生成緩存

?>

希望本文所述對大家的php程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人激情视频免费在线| 亚洲日本中文字幕免费在线不卡| 久久精品一区中文字幕| 亚洲毛片在线免费观看| 成人天堂噜噜噜| 色噜噜狠狠狠综合曰曰曰88av| 91高潮精品免费porn| 国产第一区电影| 在线日韩精品视频| 欧洲永久精品大片ww免费漫画| 日韩在线一区二区三区免费视频| 亚洲91av视频| 国内精品400部情侣激情| 国产亚洲综合久久| 日韩精品一区二区三区第95| 亚洲自拍中文字幕| 国产精品一区二区三区在线播放| 91系列在线播放| 国产精品视频yy9099| 热久久这里只有精品| 91国产精品视频在线| 成人a级免费视频| 亚洲女人初尝黑人巨大| 亚洲色图偷窥自拍| 最近2019中文字幕一页二页| 日韩综合视频在线观看| 精品久久久久久久中文字幕| 亚洲女性裸体视频| 亚洲精品国产精品国产自| 日本sm极度另类视频| 亚洲黄色av女优在线观看| 亚洲iv一区二区三区| 欧美成人高清视频| 自拍视频国产精品| 亚洲bt欧美bt日本bt| 国自产精品手机在线观看视频| 日本国产欧美一区二区三区| 91精品久久久久久久久| 久久久久久久一区二区三区| 国产成人自拍视频在线观看| 久久综合久久美利坚合众国| 国产精品欧美一区二区三区奶水| 中文字幕日韩精品在线观看| 一区二区三区国产在线观看| 国产成人激情视频| 国产精品∨欧美精品v日韩精品| 91精品国产高清自在线看超| 亚洲欧美成人一区二区在线电影| 2019中文字幕全在线观看| 久久久久久97| 久久久久久噜噜噜久久久精品| 日韩av不卡在线| 欧美日韩性视频在线| 国产精欧美一区二区三区| 欧美国产精品va在线观看| 精品日韩美女的视频高清| 国产999精品久久久| 色综合91久久精品中文字幕| 亚洲福利视频在线| www国产精品com| 热99在线视频| 欧美视频中文字幕在线| 美女福利精品视频| 国产亚洲美女久久| 亚洲第一精品夜夜躁人人躁| 成人精品福利视频| 亚洲国产欧美自拍| www.99久久热国产日韩欧美.com| 精品露脸国产偷人在视频| 国产精品美女免费视频| 亚洲成av人影院在线观看| 国产精品丝袜久久久久久高清| 97久久超碰福利国产精品…| 国语自产精品视频在线看抢先版图片| 欧美黄色小视频| 亚洲精品wwww| 欧美午夜女人视频在线| 日韩亚洲精品视频| 91亚洲精华国产精华| 久久国产精品久久久久久| 国产精品爽爽爽爽爽爽在线观看| 欧美日韩精品在线视频| 欧美日韩国产麻豆| 亚洲成人激情在线观看| 欧美精品一区三区| 欧美丰满少妇xxxxx做受| 欧美激情精品久久久久久大尺度| 欧美性少妇18aaaa视频| 成人黄色短视频在线观看| 青青久久aⅴ北条麻妃| 精品免费在线视频| 国产精品成av人在线视午夜片| 综合网日日天干夜夜久久| 久久久久久久久久久亚洲| 98午夜经典影视| 欧美电影免费在线观看| 日韩人在线观看| 91精品免费久久久久久久久| 51色欧美片视频在线观看| 成人黄色免费看| 久久影院免费观看| 亚洲精品电影网在线观看| 欧美日韩国产精品专区| 亚洲二区在线播放视频| 成人国产精品久久久| 欧美极品美女视频网站在线观看免费| 91系列在线观看| 久久久久久亚洲精品中文字幕| 亚洲视频在线视频| 国产一区二区动漫| 亚洲综合大片69999| 日韩大陆毛片av| 欧美最顶级丰满的aⅴ艳星| 国产精品天天狠天天看| 精品露脸国产偷人在视频| 在线日韩中文字幕| 欧美大片欧美激情性色a∨久久| 国产精品男女猛烈高潮激情| 成人久久一区二区三区| 蜜臀久久99精品久久久久久宅男| 亚洲视频在线观看视频| 黄网站色欧美视频| 欧美激情xxxxx| 欧美日韩免费在线观看| 亚洲欧美制服中文字幕| 欧美国产日韩一区二区| 国产日韩精品电影| 欧美亚洲国产日本| 日韩欧美在线视频免费观看| 久久躁日日躁aaaaxxxx| 国产精品视频一区二区高潮| 韩日精品中文字幕| 亚洲色图av在线| 91亚洲va在线va天堂va国| 国产不卡av在线| 欧美日韩国产中文字幕| 国产日韩精品视频| 成人妇女免费播放久久久| 亚洲国产精品99久久| 国产精品成人一区二区三区吃奶| 亚洲偷熟乱区亚洲香蕉av| 久久久久久网站| 成人欧美一区二区三区在线| 欧美韩日一区二区| 在线播放国产一区二区三区| 国产精品国产自产拍高清av水多| 中文字幕视频在线免费欧美日韩综合在线看| 色综合久久中文字幕综合网小说| 91av网站在线播放| 4438全国成人免费| 欧美性猛交xxxx乱大交极品| 有码中文亚洲精品| 91精品国产91久久久久久不卡| 欧美中文字幕在线| 欧美福利小视频| 成人性教育视频在线观看| 欧美一级淫片播放口| 久久久国产精品一区| 影音先锋日韩有码| 亚洲精品国产拍免费91在线| 日本a级片电影一区二区| 亚洲国产欧美久久| 97在线看免费观看视频在线观看| 亚洲欧美中文日韩在线v日本|