日本国产欧美大码A视频 _国产高颜值极品在线视频_色偷偷亚洲第一综合网_国产精品一二三社区视频_久久久青草视频

IT培訓(xùn)-高端面授IT培訓(xùn)機構(gòu)
云和教育:云和數(shù)據(jù)集團高端IT職業(yè)教育品牌
  • 國家級
    全民數(shù)字素養(yǎng)與技能培訓(xùn)基地
  • 河南省
    第一批產(chǎn)教融合型企業(yè)建設(shè)培育單位
  • 鄭州市
    數(shù)字技能人才(碼農(nóng))培養(yǎng)評價聯(lián)盟

【技術(shù)】淺淡PHP生成HTML的思路分析

  • 發(fā)布時間:
    2015-12-09
  • 版權(quán)所有:
    云和教育
  • 分享:

前言:

目前網(wǎng)絡(luò)上好多網(wǎng)站的新聞發(fā)布系統(tǒng)都采用了動態(tài)服務(wù)器技術(shù)生成靜態(tài)HTML的做法,這樣做的好處是:一是能減輕其服務(wù)器的負擔(dān),二是因為生成了HTML靜態(tài)頁面,所以其網(wǎng)站被搜索引擎搜索到的機率更大一些。我曾經(jīng)使用這一動態(tài)技術(shù)來構(gòu)建網(wǎng)站新聞發(fā)布系統(tǒng),其原理也就是應(yīng)用了PHP生成HTML靜態(tài)頁面的技術(shù),相關(guān)平臺是XPSp2+php4.32+mysql,因此,在這里,想簡單地談一下這種做法的思路。這篇文章適合于對PHP+MYSQL操作,SQL語句以及網(wǎng)頁有點基礎(chǔ)的朋友,如果您是一個從頭開始學(xué)的朋友,那么請先打好基礎(chǔ)吧!到這里就不用往下看了。如果您都符合上述條件的話,那么恭喜您,請接著往下看。但是,在具體動手構(gòu)建之前,您還要做好以下幾點準(zhǔn)備工作。

一、具備本地調(diào)試PHP的功能

在WINDOWSXP操作系統(tǒng)下,你可以到網(wǎng)上下載一個PHP+MYSQL+APHCHE的服務(wù)器套裝,下載完后默認安裝即可,這樣您就具備了在本地測試PHP的功能了,省去了很多手動配置的麻煩,怎么樣,簡單吧,OK,這僅僅只是第一步。

二、構(gòu)思新聞發(fā)布系統(tǒng)所具備的功能

首頁的新聞發(fā)布往往是通過后臺更新的,后臺的更新無非是由添加、編輯、刪除數(shù)據(jù)等基本的功能所實現(xiàn)的。在這里,你可以使用軟件來構(gòu)建你的想要的后臺界面,其功能的實現(xiàn)當(dāng)然是要用到PHP嘍。這一步建議您先想好新聞發(fā)布系統(tǒng)要有的功能。在這里,如何用PHP添加、編輯、刪除數(shù)據(jù)就不再重復(fù),因為重點是如何在這基礎(chǔ)上生成靜態(tài)技術(shù)。

#?p # 分頁標(biāo)題 # e #

require_once(“conn.php”);//引用conn.php,連接數(shù)據(jù)庫

$title=$_POST[“title”];

$content=$_POST[“content”];//獲得表單變量

well高級語言主要是相對于匯編語言而言,并不是特指某一種具體的語言,而是包括了很多編程語言,如流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。 像最簡單的編程語言PASCAL語言也屬于高級語言。高級語言所編制的程序不能直接被計算機識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行,按轉(zhuǎn)換方式可將它們分為兩類:

1)解釋類:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由相應(yīng)語言[1] 的解釋器“翻譯”成目標(biāo)代碼(機器語言),一邊執(zhí)行,因此效率比較低,而且不能生成可獨立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,可以動態(tài)地調(diào)整、修改應(yīng)用程序。

2)編譯類:編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機器語言),因此其目標(biāo)程序可以脫離其語言環(huán)境獨立執(zhí)行,使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(* .OBJ)才能執(zhí)行,只有目標(biāo)文件而沒有源代碼,修改很不方便。大多數(shù)的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。

//以下建立一文本文檔,其值自動計數(shù)

$countfile=”count.txt”;

if(!file_exists($countfile))

{

fopen($countfile,”w”);//如果此文件不存在,則自動建立一個

}

$fp=fopen($countfile,”r”);

$num=fgets($fp,20);

$num=$num+1;//每次其值自動加一

fclose($fp);

$fp=fopen($countfile,”w”);

fwrite($fp,$num);//更新其值

fclose($fp);

[Ctrl+A全部選擇然后拷貝]

//利用上面自動計數(shù)的值獲得HTML的路徑$path

$houzui=”.html”;

$path=$num.$houzui;

//這樣形成的路徑是自動增長的,如1.html,2.html,3.html……….添加一條新聞便自動加上1

//以下用SQL語句添加數(shù)據(jù)至表news

$sql=”insertintonews(title,content,path)values(‘”.$title.”’,’”.$content.”’,’”.$path.”’)”;

$query=mysql_query($sql);

//以下為關(guān)鍵之處,把從表單獲得的數(shù)據(jù)替換模板中的{title},{content}標(biāo)記$fp=fopen(“model.htm”,”r”)//只讀打開模板

$str=fread($fp,filesize(“mode.htm”));//讀取模板中內(nèi)容

$str=str_replace(“{title}”,$title,$str);

$str=str_replace(“{content}”,$content,$str);//替換內(nèi)容

fclose($fp);

$handle=fopen($path,”w”);//寫入方式打開新聞路徑

fwrite($handle,$str);//把剛才替換的內(nèi)容寫進生成的HTML文件

fclose($handle);

代碼拷貝框

[Ctrl+A全部選擇然后拷貝]

//收尾工作:

echo“<ahref=$pathtarget=_blank style=”margin: 0px; padding: 0px;”>查看剛才添加的新聞”;

代碼拷貝框

[Ctrl+A全部選擇然后拷貝]

OK,整個生成HTML的示例源碼就到這里,其關(guān)鍵是用了替換的方法。

$str=str_replace(“{被替換的內(nèi)容}”,$替換的內(nèi)容,$str);

因此,總結(jié)一下以上的做法:先設(shè)計好新聞模板,把需要被替換的內(nèi)容用{}放到模板中相應(yīng)的位置,然后設(shè)計表單,再是最后的表單處理程序,把從表單中獲取的變量替換模板中相應(yīng)的內(nèi)容即可,這樣每次都會生成不同的HTML;如果需要修改HTML的內(nèi)容也是一樣的,獲得修改后的表單內(nèi)容后,先用update語句更新數(shù)據(jù)庫,再重新替換一下模板中的內(nèi)容即可;刪除的話,先delete表中要刪除的內(nèi)容,再用unlink($path)來刪除HTML的物理文件即可。