本文實例講述了PHP使用OB緩存實現靜態化功能。分享給大家供大家參考,具體如下:
實現步驟
1、創建測試數據表并且寫入數據
2、實現后臺的更新操作。使用OB緩存針對每一個內容生成對應的HTML文件
3、顯示前臺的數據信息
具體實現
①創建測試數據表并且寫入數據(test.sql文件):
#創建數據表
create table news(
id int auto_increment,
title varchar(100) not null default '',
body text,
primary key(id)
)engine =myisam default charset=utf8;
#數據寫入
insert into news values(null,'靜態化','靜態化可以減少服務器壓力'),(null,'偽靜態','偽靜態能夠滿足SEO優化');
②實現后臺的更新操作(admin.php文件)
?php
//具體的后臺更新
//獲取所有的數據信息
mysql_connect('127.0.0.1','root','123456');
mysql_select_db('test');
$sql='select * from news';
$res = mysql_query($sql);
while ($row=mysql_fetch_assoc($res)) {
//針對每一條數據生成html文件
ob_start();//開啟OB緩存
?>
!DOCTYPE html>
html lang="en">
head>
meta charset="utf-8">
title>靜態化介紹/title>
/head>
body>
h1>?php echo $row['title']; ?>/h1>
div>?php echo $row['body']; ?>/div>
/body>
/html>
?php
//獲取OB緩存中的內容
$str = ob_get_contents();
//關閉OB緩存并且清空內容。因為如果不清空瀏覽器上會看到所有的數據結果
ob_end_clean();
//將信息寫入到文件中 關于具體的文件目錄及文件名稱需要自定義
//對于在實際項目中關于html文件的存儲 一般都會使用年月日的格式存在
file_put_contents($row['id'].'.html',$str);
}
?>
③實現前臺數據顯示(list.php文件):
?php
//顯示列表
//獲取所有的數據信息
mysql_connect('127.0.0.1','root','123456');
mysql_select_db('test');
$sql='select * from news';
$res = mysql_query($sql);
?>
!DOCTYPE html>
html lang="en">
head>
meta charset="utf-8">
title>靜態化介紹/title>
/head>
body>
h1>顯示列表/h1>
table>
tr>
td>序號/td>
td>標題/td>
td>查看/td>
/tr>
?php while ($row =mysql_fetch_assoc($res)) {?>
tr>
td>?php echo $row['id']; ?>/td>
td>?php echo $row['title']; ?>/td>
td>a href="?php echo $row['id'];?>.html" rel="external nofollow" > 查看/a>/td>
/tr>
?php } ?>
/table>
/body>
/html>
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php緩存技術總結》、《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- thinkphp5redis緩存新增方法實例講解
- PHP ob緩存以及ob函數原理實例解析
- 解決PHP Opcache 緩存刷新、代碼重載出現無法更新代碼的問題
- PHP網頁緩存技術優點及代碼實例
- php加速緩存器opcache,apc,xcache,eAccelerator原理與配置方法實例分析
- PHP利用緩存處理用戶注冊時的郵箱驗證,成功后用戶數據存入數據庫操作示例
- TP5(thinkPHP框架)實現后臺清除緩存功能示例
- ThinkPHP3.2.3框架Memcache緩存使用方法實例總結
- 簡單實用的PHP文本緩存類實例
- PHP緩存系統APCu擴展的使用