談php生成靜態(tài)頁(yè)面

談php生成靜態(tài)頁(yè)面

ID:14279944

大?。?8.50 KB

頁(yè)數(shù):31頁(yè)

時(shí)間:2018-07-27

談php生成靜態(tài)頁(yè)面_第1頁(yè)
談php生成靜態(tài)頁(yè)面_第2頁(yè)
談php生成靜態(tài)頁(yè)面_第3頁(yè)
談php生成靜態(tài)頁(yè)面_第4頁(yè)
談php生成靜態(tài)頁(yè)面_第5頁(yè)
資源描述:

《談php生成靜態(tài)頁(yè)面》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、談PHP生成靜態(tài)頁(yè)面在速度上,靜態(tài)頁(yè)面要比動(dòng)態(tài)頁(yè)面的比方php快很多,這是毫無(wú)疑問(wèn)的,但是由于靜態(tài)頁(yè)面的靈活性較差,如果不借助數(shù)據(jù)庫(kù)或其他的設(shè)備保存相關(guān)信息的話,整體的管理上比較繁瑣,比方修改編輯.比方閱讀權(quán)限限制等,但是,對(duì)應(yīng)一些我們經(jīng)常頻頻使用的文件,比方說(shuō),開(kāi)發(fā)的新聞發(fā)布系統(tǒng),我們不希望很多用戶都讀取數(shù)據(jù)庫(kù)才顯示結(jié)果,這樣一方面消耗了服務(wù)器的資源,另一方面占去了瀏覽者大量可貴的響應(yīng)時(shí)間,所有,有了"靜態(tài)頁(yè)面話"的做法,當(dāng)前很多網(wǎng)站都采用這種技術(shù),一般都是由管理后臺(tái)控制,或者生成html直接顯示,或者xhtml用css控制顯示,或者生成xml用xslt顯

2、示,這些技術(shù)都不是難的,在這里我就淺顯的說(shuō)說(shuō)生成html的方法.二、預(yù)備知識(shí)模板技術(shù):[PHP]模板引擎Smarty深入淺出介紹--2005-12-31[PHP]笑談配置,使用Smarty技術(shù)--2006-01-04緩存技術(shù):有些信息比方經(jīng)常不變的,但是還是能變的信息放在緩存中以加快顯示速度,這是很有價(jià)值的,所謂的緩存,通俗的理解就是一些保存在服務(wù)器端的共用信息.它是于服務(wù)器同生死的,我們?cè)诒4婢彺娴臅r(shí)候可以指定下次更新的時(shí)間的判斷,比方要在5分鐘更新一次,可以記錄上次更新的時(shí)間,和當(dāng)前時(shí)間比較,如果大于5分鐘,讀取數(shù)據(jù)庫(kù),更新?lián)Q成,否則直接讀取緩存數(shù)據(jù),當(dāng)

3、然,緩存需要客戶端用戶激活的,只需一次.ob_start()函數(shù):打開(kāi)輸出緩沖區(qū).函數(shù)格式voidob_start(void)說(shuō)明:當(dāng)緩沖區(qū)激活時(shí),所有來(lái)自PHP程序的非文件頭信息均不會(huì)發(fā)送,而是保存在內(nèi)部緩沖區(qū)。為了輸出緩沖區(qū)的內(nèi)容,可以使用ob_end_flush()或flush()輸出緩沖區(qū)的內(nèi)容。Flush:刷新緩沖區(qū)的內(nèi)容,輸出。函數(shù)格式:flush()說(shuō)明:這個(gè)函數(shù)經(jīng)常使用,效率很高。ob_get_contents:返回內(nèi)部緩沖區(qū)的內(nèi)容。函數(shù)格式:stringob_get_contents(void)說(shuō)明:這個(gè)函數(shù)會(huì)返回當(dāng)前緩沖區(qū)中的內(nèi)容,如果輸

4、出緩沖區(qū)沒(méi)有激活,則返回FALSE.ob_get_length:返回內(nèi)部緩沖區(qū)的長(zhǎng)度。函數(shù)格式:intob_get_length(void)說(shuō)明:這個(gè)函數(shù)會(huì)返回當(dāng)前緩沖區(qū)中的長(zhǎng)度;和ob_get_contents一樣,如果輸出緩沖區(qū)沒(méi)有激活,則返回FALSE.ob_end_clean:刪除內(nèi)部緩沖區(qū)的內(nèi)容,并且關(guān)閉內(nèi)部緩沖區(qū)函數(shù)格式:voidob_end_clean(void)說(shuō)明:這個(gè)函數(shù)不會(huì)輸出內(nèi)部緩沖區(qū)的內(nèi)容而是把它刪除ob_end_flush:發(fā)送內(nèi)部緩沖區(qū)的內(nèi)容到瀏覽器,并且關(guān)閉輸出緩沖區(qū)函數(shù)格式:voidob_end_flush(void)說(shuō)明:

5、這個(gè)函數(shù)發(fā)送輸出緩沖區(qū)的內(nèi)容(如果有的話)ob_implicit_flush:打開(kāi)或關(guān)閉絕對(duì)刷新函數(shù)格式:voidob_implicit_flush([intflag])說(shuō)明:默認(rèn)為關(guān)閉緩沖區(qū),打開(kāi)絕對(duì)輸出后,每個(gè)腳本輸出都直接發(fā)送到瀏覽器,不再需要調(diào)用flush()文件寫(xiě)入:intfwrite(resourcehandle,stringstring[,intlength])fwrite()把string的內(nèi)容寫(xiě)入文件指針handle處。如果指定了length,當(dāng)寫(xiě)入了length個(gè)字節(jié)或者寫(xiě)完了string以后,寫(xiě)入就會(huì)停止,視乎先碰到哪種情況。fwrit

6、e()返回寫(xiě)入的字符數(shù),出現(xiàn)錯(cuò)誤時(shí)則返回FALSE。相關(guān)參考官方網(wǎng)站:文件參考三、解決方案思路:開(kāi)啟ob_start緩沖,當(dāng)已經(jīng)調(diào)出數(shù)據(jù)的時(shí)候獲取ob_get_contents,然后生成靜態(tài)頁(yè),ob_end_clean清除緩沖.ok,就這么來(lái),來(lái)看一個(gè)例子(php+mysql的結(jié)合):創(chuàng)建數(shù)據(jù)庫(kù):CREATETABLE`bihtml`(`id`int(11)NOTNULLauto_increment,`szdtitle`varchar(16)NOTNULL,`szdcontent`textNOTNULL,PRIMARYKEY(`id`))TYPE=MyISA

7、M;獲取當(dāng)前的ID,并導(dǎo)入模板:ob_start();$id=_POST['id']if(!isset($id)&&is_integer($id)){@$db=newmysqli('localhost','root','admin','bihtml');$result=$db->fetch_one_array("select*fromszd_biwhereid='$id'");if(!empty($result)){$tmp->assign(array("Szdtitle",htmlspecialchars($result['titles']),"Szdco

8、ntent",$result['titles']))

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。