smarty實現(xiàn)PHP靜態(tài)化的兩種方法分享
更新時間:2012年02月04日 13:38:33 作者:
用smarty實現(xiàn)純靜態(tài)化的文件發(fā)布有兩種方法,也就是純HTML文件生成的方法,包括以下兩種方法,需要的朋友可以參考下
方法一:
復(fù)制代碼 代碼如下:
<?php
require_once("./config/config.php");
ob_start();
$id=$_GET[id];
$sql="select * from table_name where id='$id'";
$result=mysql_query($sql);
$rs=mysql_fetch_object($result);
$smarty->assign("showtitle",$rs->title);
$smarty->assign("showcontent",$rs->content);
$smarty->display("content.html");
$this_my_f= ob_get_contents();
ob_end_clean();
$filename = "$id.html";
tohtmlfile_cjjer($filename,$this_my_f);
// 文件生成函數(shù)
function tohtmlfile_cjjer($file_cjjer_name,$file_cjjer_content){
if (is_file ($file_cjjer_name)){
@unlink ($file_cjjer_name); //存在,就刪除
}
$cjjer_handle = fopen ($file_cjjer_name,"w"); //創(chuàng)建文件
if (!is_writable ($file_cjjer_name)){ //判斷寫權(quán)限
return false;
}
if (!fwrite ($cjjer_handle,$file_cjjer_content)){
return false;
}
fclose ($cjjer_handle); //關(guān)閉指針
return $file_cjjer_name; //返回文件名
}
?>
方法二:
smarty中有一個獲取模板頁內(nèi)容方法fetch(), 它的聲明原形是這樣的:
復(fù)制代碼 代碼如下:
<?php
function fetch($resource_name, $cache_id = null,
$compile_id = null, $display = false)
?>
第一個參數(shù)為模板名稱, 第二個參數(shù)為緩存的id, 第三個參數(shù)為編譯id, 第四個參數(shù)為是否顯示模板內(nèi)容. 生成靜態(tài)頁我們就需要用到這個方法.
復(fù)制代碼 代碼如下:
<?php
$smarty = new Smarty();
//其它模板替換語法...
//下面這句取得頁面中所有內(nèi)容, 注意最后一個參數(shù)為false
$content = $smarty->fetch('模板名稱.tpl', null, null, false);
//下面將內(nèi)容寫入至一個靜態(tài)文件
$fp = fopen('news.html', 'w');
fwrite($fp, $content);
fclose($fp);
//OK, 到這里這個news.html靜態(tài)頁就生成了, 你可以處理你下一步的工作了
?>
相關(guān)文章
Linux Ubuntu實現(xiàn)查看磁盤剩余空間及內(nèi)存
這篇文章主要介紹了Linux Ubuntu實現(xiàn)查看磁盤剩余空間及內(nèi)存方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
在 Ubuntu 中使用 NTP 進(jìn)行時間同步設(shè)置
本篇文章主要介紹了在 Ubuntu 中使用 NTP 進(jìn)行時間同步設(shè)置,通??蛻舳讼蚍?wù)器請求當(dāng)前的時間,并根據(jù)結(jié)果來設(shè)置其時鐘。2017-04-04
linux環(huán)境配置nginx導(dǎo)致頁面不刷新的解決方法
這篇文章介紹了linux環(huán)境配置nginx導(dǎo)致頁面不刷新的解決方法,有需要的朋友可以參考一下2013-09-09
Linux下9種優(yōu)秀的代碼比對工具推薦小結(jié)
這篇文章主要介紹了Linux下9種優(yōu)秀的代碼比對工具推薦小結(jié),不僅有命令行工具,還有 GUI 界面工具,讓你輕松進(jìn)行代碼比對,感興趣的可以一起來了解一下2020-06-06

