利用Smarty怎么實(shí)現(xiàn)一個(gè)頁面靜態(tài)化功能?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

Smarty靜態(tài)化過程只需要在上述過程中添加兩個(gè)步驟:
第一:在1之前使用 ob_start() 打開緩沖區(qū)。
第二:在5之后使用 ob_get_contents() 獲取內(nèi)存未輸出內(nèi)容,然后使用fwrite()將內(nèi)容寫入目標(biāo)html文件。
根據(jù)上述描述,此過程是在網(wǎng)站前臺(tái)實(shí)現(xiàn)的,而內(nèi)容管理(添加、修改、刪除)通常是在后臺(tái)進(jìn)行,為了能有效
利用上述過程,可以使用一點(diǎn)小手段,那就是Header()。具體過程是這樣的:在添加、修改程序完成之后,使用
Header() (當(dāng)然還有其它方式)跳到前臺(tái)讀取,這樣可以實(shí)現(xiàn)頁面HTML化,然后在生成html后再跳回后臺(tái)管理側(cè),而這兩個(gè)跳轉(zhuǎn)
過程是不可見的。
<?php
$cachefile="./cache/demo.html";//把緩存文件放到一個(gè)cache文件夾里
$cachetime=20;
if (!file_exists($cachefile ) || filemtime($cachefile)+$cachetime < time()) //判斷是否存在和過期時(shí)間
{
ob_start();//輸出控制
echo '<table border="1" width="800" align="center">';
echo '<caption><h2>user</h2></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();//輸出并關(guān)閉緩沖區(qū)
}
else{
echo 'ceshi';
include $cachefile;
}
?>關(guān)于利用Smarty怎么實(shí)現(xiàn)一個(gè)頁面靜態(tài)化功能問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
網(wǎng)站標(biāo)題:利用Smarty怎么實(shí)現(xiàn)一個(gè)頁面靜態(tài)化功能-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://chinadenli.net/article16/cohcdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、Google、網(wǎng)頁設(shè)計(jì)公司、App設(shè)計(jì)、做網(wǎng)站、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容