国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

Smarty實現頁面靜態化(生成HTML)的方法

2024-05-04 23:46:24
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Smarty實現頁面靜態化(生成HTML)的方法,結合實例形式詳細分析了Smarty生成靜態HTML頁面的步驟與相關注意事項,需要的朋友可以參考下
 

本文實例講述了Smarty實現頁面靜態化(生成HTML)的方法。分享給大家供大家參考,具體如下:

為了減少數據庫讀取次數,某些內容不經常被更改的頁面,比如文章詳細頁面需要做成HTML靜態頁面。

在使用Smarty的情況下,也可以實現頁面靜態化。下面先簡單說一下使用Smarty時通常動態讀取的做法。

一般分這幾步:

1、通過URL傳遞一個參數(ID);

2、然后根據此ID查詢數據庫;

3、取得數據后根據需要修改顯示內容;

4、assign需要顯示的數據;

5、display模板文件。

Smarty靜態化過程只需要在上述過程中添加兩個步驟:

第一:在1之前使用 ob_start() 打開緩沖區。

第二:在5之后使用 ob_get_contents() 獲取內存未輸出內容,然后使用fwrite()將內容寫入目標html文件。

根據上述描述,此過程是在網站前臺實現的,而內容管理(添加、修改、刪除)通常是在后臺進行,為了能有效

利用上述過程,可以使用一點小手段,那就是Header()。具體過程是這樣的:在添加、修改程序完成之后,使用

Header() (當然還有其它方式)跳到前臺讀取,這樣可以實現頁面HTML化,然后在生成html后再跳回后臺管理側,而這兩個跳轉

過程是不可見的。

<?php$cachefile="./cache/demo.html";//把緩存文件放到一個cache文件夾里$cachetime=20;if (!file_exists($cachefile ) || filemtime($cachefile)+$cachetime < time()) //判斷是否存在和過期時間{  ob_start();//輸出控制  echo '<table border="1" width="800" align="center">';  echo '<caption><h1>user</h1></caption>';  echo '<tr>';  echo "<td>11111</td>";  echo "<td>22222</td>";  echo '</tr>';  echo '<tr>';  echo "<td>11111</td>";  echo "<td>22222</td>";  echo '</tr>';  echo '</table>';$html=ob_get_contents();file_put_contents($cachefile, $html);//輸出到緩存文件ob_end_flush();//輸出并關閉緩沖區}else{  echo 'ceshi'; include $cachefile;}?>


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 错那县| 华池县| 拜泉县| 成武县| 盐亭县| 密云县| 西充县| 远安县| 平罗县| 邮箱| 沂水县| 延庆县| 出国| 东宁县| 大安市| 奈曼旗| 博客| 白朗县| 海宁市| 五峰| 南部县| 桐梓县| 武宁县| 镇江市| 平泉县| 江川县| 翼城县| 孟津县| 嘉鱼县| 漳浦县| 顺昌县| 苍溪县| 新乡市| 莱阳市| 贵溪市| 嘉峪关市| 元谋县| 土默特左旗| 博白县| 牡丹江市| 宝兴县|