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