- 相關(guān)推薦
php入門(mén)教程:生成靜態(tài)html頁(yè)面原理
經(jīng)常操作網(wǎng)站后臺的人都知道,現在大多數的網(wǎng)站系統,如dedecms、phpcms、帝國等知名內容管理系統都提供生成靜態(tài)頁(yè)面的功能,這不光有利于搜索引擎的抓取,而且還能有效降低服務(wù)器壓力,所以說(shuō)這是一個(gè)很流行、實(shí)用的功能。
對于學(xué)習PHP,將要從事WEB網(wǎng)站開(kāi)發(fā)的朋友們來(lái)說(shuō),了解這個(gè)功能是必不可少的,由此,下面來(lái)分享一下PHP生成靜態(tài)頁(yè)面的原理。
一、思路分析
其實(shí),實(shí)現靜態(tài)頁(yè)面生成功能的原理很簡(jiǎn)單,主要利用幾個(gè)常見(jiàn)的PHP文件操作函數對文件進(jìn)行操作,其思路流程如下:
生成靜態(tài)頁(yè)面流程圖
二、功能實(shí)現
設置example.html為模板文件,然后按照此模板文件生成article-1.html~article-5.html,以此來(lái)做簡(jiǎn)單的演示,代碼如下:
<?php
//將數據存入二維數組
$con=array(array('文章標題1','文章內容1'),
array('文章標題2','文章內容2'),
array('文章標題3','文章內容3'),
array('文章標題4','文章內容4'),
array('文章標題5','文章內容5'));
foreach($con as $id=>$val){
//循環(huán)生成
$title=$val[0];
$content=$val[1];
$path="article-".($id+1).".html";
//替換example內容,并獲取內容賦值給$str
$fp=fopen("example.html","r");
$str=fread($fp,filesize("example.html"));
$str=str_replace("{title}",$title,$str);
$str=str_replace("{content}",$content,$str);
fclose($fp);
//新建空白文件,將$str寫(xiě)入
$handle=fopen($path,"w");
fwrite($handle,$str);
fclose($handle);
echo "生成".$path."<br/>";
}
?>
注解:
fopen(文件名,打開(kāi)方式),打開(kāi)文件函數,若無(wú)文件,則創(chuàng )建。其返回值為資源型;
fread(文件名,讀取字節數),讀取文件內容及對應的字節數;
str_replace(規定要查找的值,替換被查找值的值,被搜索的字符串),替換函數;
fclose(文件名),關(guān)閉文件;
fwrite(要寫(xiě)入的打開(kāi)文件,要寫(xiě)入打開(kāi)文件的字符串,要寫(xiě)入的最大字節數)。
三、最后
原理比較簡(jiǎn)單,作為php初學(xué)者,要把每個(gè)基礎知識扎實(shí)學(xué)好,堅持每天擼碼,形成條件反射,其次以工作需求為導向,設定好階段性目標,相信,你的PHP之路定會(huì )風(fēng)光無(wú)限,共勉!
【php入門(mén)教程:生成靜態(tài)html頁(yè)面原理】相關(guān)文章:
php靜態(tài)成員變量分享05-05
php如何過(guò)濾危險html代碼09-21
RTK靜態(tài)控制測量原理方法03-12
探討PHP函數的實(shí)現原理及性能07-07
為什么SEO過(guò)程要進(jìn)行偽靜態(tài)頁(yè)面設置?09-11
關(guān)于php堆排序實(shí)現原理與應用方法10-09
php生成帶logo二維碼方法08-20