我來詳細講解一下關於PHP產生靜態頁面
答案
大家好,下面我來詳細講解一下關於PHP產生靜態頁面的步驟:
為了研究這靜態產生,我花了不少的時間,把我的經驗給大家轉述一下:
下面是我封裝的create html 類:
class makehtml
{
//+-----------------------------
//+ 建立HTML檔案夾 按照格式建立
//+-----------------------------
function c_dir($html_type,$root)
{
$htmldata_dir=$root;
if (!is_dir($htmldata_dir))
{
if (!mkdir($htmldata_dir,0777))
{
exit('對不起 ,這沒有HTML檔案夾'.$htmldata_dir.' 而且不能建立 .');
}
}
elseif (!is_writable($htmldata_dir))
{
exit('對不起, 檔案夾 '.$htmldata_dir.' 不可寫');
}
return $htmldata_dir;
}
function replace_tpl($data,$input_data,$name)
{//+ 替換 html 模板中的變數
$data=str_replace("{title}",$input_data['title'],$data);
$data=str_replace("{content}",$input_data['content'],$data);
return $data;
}
function create_html($htmlpage,$name,$root,$input_data)
{//+ 產生 html 檔案 function create_html('模板','靜態檔案名稱','檔案儲存體目錄','提交資料');
$htmldata_dir=$this->c_dir($html_type,$root); //c_dir("格式","名稱")
$modeltpl=$htmlpage; //可以加路徑
$fp=fopen($modeltpl,'r');
$tpldata.=fread($fp,filesize($modeltpl));
fclose($fp);
$tpl_data=$this->replace_tpl($tpldata,$input_data,$name);
$fp=fopen($htmldata_dir.'/'.$name.'.shtml','w+');
unset($htmldata_dir);
fwrite($fp,$tpl_data);
fclose($fp);
}
}
?>
複製代碼應用方法:
配合資料庫操作,資料庫表大家自己建。
include("mysql.php");
include("create_html.php");
$html=new makehtml(); //執行個體化CREATE HTML對象
$op=$_GET["op"];
if($op=='insert')
{
$title=$_POST["title"];
$content=$_POST["content"];
$file_path=date("Y-m",time()); //以時間的格式來命名檔案夾
$query=$DB->query("insert into news values('','$title','$content','$times','')");
$name=$DB->insert_id();
$sql_data=array(
'title'=>$title,
'content'=>$content
);
$html->create_html('model.html',$name,$file_path,$sql_data);
//+分別代表的意思是:模板頁面,產生後的名稱,存放檔案夾,寫入模板的資料資訊
}
?>
複製代碼
注意:在這裡我只是寫了個簡單的思路,具體的需求需要根據大家的應用來了,這是最簡單的發布,還有編輯希望想學習的朋友們繼
續研究。
其它解決方案
教程的一定要頂
其它解決方案
自己也頂一下 快掉了
其它解決方案
頂了頂了,我正要這樣的東西學習了
其它解決方案
不但要頂,好要收藏!哈哈o(∩_∩)o...哈哈
其它解決方案
再頂一下...
其它解決方案
很好啊。支援一下!
[img]http://www.phpchina.com/bbs/images/smilies/default/smile.gif[/img]
其它解決方案
收藏了.呵呵..
其它解決方案
當初我研究了好長時間的DZ的代碼!
想看看他們是搞靜態!
呵呵!
不過我看過幾個PHP部落格程式的靜態方法!
都大同小異吧!
和你這個也差不多!
http://www.bkjia.com/PHPjc/632383.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632383.htmlTechArticle我來詳細講解一下關於PHP產生靜態頁面 答案 大家好,下面我來詳細講解一下關於PHP產生靜態頁面的步驟: 為了研究這靜態產生,我花了...