將動(dòng)態(tài)網(wǎng)頁(yè)轉(zhuǎn)成靜態(tài)頁(yè)面的意義,及作用,下面由南昌網(wǎng)站建設(shè)公司工程師進(jìn)行介紹:
有技術(shù)人員提問(wèn):
1,除了提高瀏覽速度,把頁(yè)面生成為html有什么好處?
舉一個(gè)常見(jiàn)的例子,一個(gè)新聞系統(tǒng)需要做全站(前臺(tái))靜態(tài)的。它有首頁(yè)index.html,分頁(yè)NewsList.html,詳細(xì)頁(yè)NewsShow.html。
2,每個(gè)詳細(xì)頁(yè)面生成為靜態(tài)頁(yè)面的時(shí)候,
(1),往往頭部都包含小導(dǎo)航,如:首頁(yè)>公司新聞>公司文化,還有頁(yè)面旁邊有“熱點(diǎn)新聞、相關(guān)新聞”“廣告”等,除了主體部分,這些原 來(lái)用PHP實(shí)現(xiàn)時(shí)都是動(dòng)態(tài)變化的,現(xiàn)在做成靜態(tài)的,怎么辦?假如相關(guān)新聞?dòng)凶儎?dòng),那是不是當(dāng)前這個(gè)詳細(xì)頁(yè)面需要重新生成一次?
(2),當(dāng)編輯文章時(shí),是不是要重新生成一次?
3,分頁(yè)顯示的時(shí)候
(1),同樣含有問(wèn)題2-1的問(wèn)題
(2),假設(shè)總共有3頁(yè),每頁(yè)10記錄,假設(shè)記錄不增加不減少。假設(shè)每個(gè)頁(yè)面只顯示文章標(biāo)題。如果某個(gè)文章標(biāo)題改變了,那么是不是它所屬那個(gè)頁(yè)面(如NewsList3.html)要重新生成一次?
(3),假設(shè)總共有3頁(yè),每頁(yè)10記錄。如果記錄有增或者減少,那么各個(gè)分頁(yè) (如:NewsList1.html,NewsList2.html,NewsList3.html)是不是都需要重新生成?因?yàn)橛锌赡? NewsList3.html這個(gè)頁(yè)面里需要顯示的文章又多了一條或者少了一條。
(4),頁(yè)面下面經(jīng)常會(huì)帶有[1][2][3][4]等分頁(yè)鏈接。如果增加或者減少了記錄,那么總頁(yè)數(shù)有可能增加,意思是有可能總共有5頁(yè)或者2頁(yè) 了。那么各個(gè)分頁(yè)是不是又必須重新生成一次?首頁(yè)末頁(yè)問(wèn)題,假設(shè)原來(lái)只有3頁(yè),末頁(yè)是NewsList3.html,現(xiàn)在可能增加了很多記錄,末頁(yè)變成 NewsList100.html了,如果以前生成過(guò)99個(gè)頁(yè)面,那是不是99個(gè)頁(yè)面的末頁(yè)都必須改成NewsList100.html,必須重新生成?
(5),怎么區(qū)分已經(jīng)生成過(guò)的?將要生成的?
4,是不是每次修改數(shù)據(jù)庫(kù),都必須全盤(pán)通通重新生成一次?
南昌網(wǎng)站設(shè)計(jì)公司工程師進(jìn)行回答:
1.fread讀模板(讀取之前要用fopen打開(kāi)模板),或者模板保存在數(shù)據(jù)庫(kù)里,通過(guò)替換關(guān)鍵字,然后fwrite保存為頁(yè)面.
2.讀取已經(jīng)處理好的PHP頁(yè)面信息,fwrite生成.
2,每個(gè)詳細(xì)頁(yè)面生成為靜態(tài)頁(yè)面的時(shí)候,
(1),往往頭部都包含小導(dǎo)航,如:首頁(yè)>公司新聞>公司文化,還有頁(yè)面旁邊有“熱點(diǎn)新聞、相關(guān)新聞”“廣告”等,除了主體部分,這些原 來(lái)用PHP實(shí)現(xiàn)時(shí)都是動(dòng)態(tài)變化的,現(xiàn)在做成靜態(tài)的,怎么辦?假如相關(guān)新聞?dòng)凶儎?dòng),那是不是當(dāng)前這個(gè)詳細(xì)頁(yè)面需要重新生成一次?
在模板文件中定義 keyword ,在后臺(tái)生成頁(yè)面時(shí),替換導(dǎo)航, 例如, 后臺(tái)生成數(shù)據(jù)時(shí),當(dāng)前頁(yè)的類(lèi)別 是 A, 則 str_replace(CODE,KEYWORD,"A").
(2),當(dāng)編輯文章時(shí),是不是要重新生成一次?
是,
3,分頁(yè)顯示的時(shí)候
(1),同樣含有問(wèn)題2-1的問(wèn)題
同上.
(2),假設(shè)總共有3頁(yè),每頁(yè)10記錄,假設(shè)記錄不增加不減少。假設(shè)每個(gè)頁(yè)面只顯示文章標(biāo)題。如果某個(gè)文章標(biāo)題改變了,那么是不是它所屬那個(gè)頁(yè)面(如NewsList3.html)要重新生成一次?
是.
(3),假設(shè)總共有3頁(yè),每頁(yè)10記錄。如果記錄有增或者減少,那么各個(gè)分頁(yè) (如:NewsList1.html,NewsList2.html,NewsList3.html)是不是都需要重新生成?因?yàn)橛锌赡? NewsList3.html這個(gè)頁(yè)面里需要顯示的文章又多了一條或者少了一條。
是.
(4),頁(yè)面下面經(jīng)常會(huì)帶有[1][2][3][4]等分頁(yè)鏈接。如果增加或者減少了記錄,那么總頁(yè)數(shù)有可能增加,意思是有可能總共有5頁(yè)或者2頁(yè) 了。那么各個(gè)分頁(yè)是不是又必須重新生成一次?首頁(yè)末頁(yè)問(wèn)題,假設(shè)原來(lái)只有3頁(yè),末頁(yè)是NewsList3.html,現(xiàn)在可能增加了很多記錄,末頁(yè)變成 NewsList100.html了,如果以前生成過(guò)99個(gè)頁(yè)面,那是不是99個(gè)頁(yè)面的末頁(yè)都必須改成NewsList100.html,必須重新生 成?
是.
(5),怎么區(qū)分已經(jīng)生成過(guò)的?將要生成的?
數(shù)據(jù)庫(kù)里應(yīng)該有一個(gè)字段存放,對(duì)應(yīng)的頁(yè)面文件。
5,是不是每次修改數(shù)據(jù)庫(kù),都必須全盤(pán)通通重新生成一次?
只生成對(duì)當(dāng)前數(shù)據(jù)關(guān)聯(lián)的頁(yè)面.
專(zhuān)業(yè)專(zhuān)注于南昌網(wǎng)頁(yè)制作、南昌建網(wǎng)站、南昌網(wǎng)站開(kāi)發(fā)項(xiàng)目,為用戶(hù)提供高品質(zhì)的網(wǎng)絡(luò)產(chǎn)品和優(yōu)質(zhì)的服務(wù)是我們始終追求的目標(biāo)!