1. 程式人生 > >php使用ob緩存來實現動態頁面靜態化

php使用ob緩存來實現動態頁面靜態化

數據庫操作 rom sql name con pre 頁面靜態化 nts lec

例子:

<?php
include_once ‘common/common.php‘;//數據庫操作方法

$fileName = ‘test.html‘;
$expr = 10;//緩存時間
$time_start = microtime();
if( file_exists($fileName)){//判斷文件是否存在
$fileCreateTime = filectime($fileName);
if ($fileCreateTime+$expr > time()) {//判斷緩存文件是否過期
/*沒有過期,輸出緩存文件*/
echo file_get_contents($fileName);

$time_end = microtime();
echo ‘<br>查詢靜態頁面花費的時間:‘;
echo $time_end - $time_start;
die();
}else{
/*刪除過期文件*/
unlink($fileName);
}
}
ob_start();
$sql = "SELECT classname FROM category WHERE cid > 0";
$res = mySelect($conn,$sql);
foreach ($res as $k => $v){
echo "<a href=‘http://www.baidu.com‘>".$v[‘classname‘]."</a>"."<br>";

}
echo date(‘Y-m-d H:i:s‘,time());
$time_end = microtime();
echo ‘<br>查詢數據庫花費的時間:‘;
echo $time_end - $time_start;
/*將頁面緩存起來*/
$content = ob_get_contents();
$fp = fopen(‘test.html‘,‘w‘);
fwrite($fp,$content);
fclose($fp);
ob_end_clean();

從輸出時間差發現,加載靜態頁面速度遠遠大於動態頁面

參考:http://www.jb51.net/article/74342.htm
  http://www.jb51.net/article/47951.htm

php使用ob緩存來實現動態頁面靜態化