php頁面的靜態化很有必要,尤其是在
cms系統中,一些內容一旦生成,基本上不會有變化,這時如果用
html
將頁面靜態化,無疑會減少服務其解析php
頁面的負擔。以下是看書學來的php
靜態化技術,記錄之以備不時之需。
無論是利用框架還是簡單的指令碼,原理基本一致:就是利用php
進行檔案操作,替換
html
模板中的動態元素。
簡單的例子:
1.建立模板(
template.html)
<
html
>
<
head
>
<
title
>
一篇文章
title
>
head
>
<
body
>
<
div
id = "headline"
>
%headline%
div>
<
div
id = "content"
>
%content%
div>
body
>
html
>
模板很簡單,要填充的有2條資料分別是
文章題目
(%headline%)
、文章內容
(%content%)
,這些東西就是所謂的動態元素。
2.靜態化指令碼
(tostatic.php)
** <?
php//
replace函式用於將從模版檔案中讀取的內容中的關鍵字替換成變數中的內容
function
replace(
$row
, $headline=''
, $content
='')//
主程式$connection
=mysql_connect("
localhost",
"username",
"password
") or
die(mysql_error
());
$database
=mysql_select_db
($connection
, "
dbname
") or
die(mysql_error
());
//新新增的文章資訊
$headline
=$_post['
headline'];
$content
=$_post['
content'];
//生成檔名,這裡用日期時間
$filename
='s'
.date("
ymdhis")
.'.html';
//執行sql語句
$sql="
insert into news values('
$headline
', '
$content
', '
$filename')"
;$res
=mysql_query
($sql
);//
根據sql執行語句返回的bool型變數判斷是否插入成功if(
$res
) //
關閉檔案指標
fclose
($f_new
); fclose
($f_tem
); //
提示echo
"ok!";}
else
echo
"failed!";
mysql_close
();?>
3.一般的
cms都會記錄內容被瀏覽的資訊,例如瀏覽次數或者瀏覽者的
ip資訊等,靜態頁面要記錄這些資訊,可以在模板中加入乙個長寬都為
0的,指向計數指令碼。
以記錄瀏覽次數為例:
<
img
width
='0'
height
='0'
src='counter.php?fileid=s001'
/>
這樣,計數操作可以放到
counter.php
中進行,又不會破壞網頁的靜態性。
PHP頁面靜態化技術
php頁面的靜態化很有必要,尤其是在cms系統中,一些內容一旦生成,基本上不會有變化,這時如果用html將頁面靜態化,無疑會減少服務其解析php頁面的負擔。以下是看書學來的php靜態化技術,記錄之以備不時之需。無論是利用框架還是簡單的指令碼,原理基本一致 就是利用php進行檔案操作,替換html模板...
PHP頁面靜態化技術(備忘)
code highlighting produced by actipro codehighlighter freeware replace函式用於將從模版檔案中讀取的內容中的關鍵字替換成變數中的內容 function replace row,headline content 主程式 connect...
PHP頁面靜態化技術(備忘)
php頁面的靜態化很有必要,尤其是在 cms系統中,一些內容一旦生成,基本上不會有變化,這時如果用 html 將頁面靜態化,無疑會減少服務其解析php 頁面的負擔。以下是看書學來的php 靜態化技術,記錄之以備不時之需。無論是利用框架還是簡單的指令碼,原理基本一致 就是利用php 進行檔案操作,替換...