程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP生成靜態頁面的兩種方法

PHP生成靜態頁面的兩種方法

編輯:關於PHP編程

1. 治理後台添加記錄時,直接生成目標html頁面,並且前台調用連接直接指向生成的html頁面。這種方法程優點是程序效率最高。

服務器負荷輕,不過由於生成的是純靜態頁面,一旦頁面樣式(模版及css=theme)上有所改動就必須重新生成所有的內容頁。

所以實際使用中應用一般不是太多。更多的是使用js,ssi,xml/xsl等客戶端手段,生成的靜態文件中僅保存數據,不涉及樣式,

這樣能達到速度和維護性的平衡,不過相對前後台程序要復雜些(應用這種方法時,由於內容為純靜態,可以搭配單獨編譯的純靜態的apache使用。。效率和資源占用上比包含動態內容支持的要更佳)

====
補充:

a. 上面說的改動樣式,要重新生成所有的內容頁,可以通過:
>>>>在可以在每個生成的頁面內嵌入一個<script src=XXX.php?id=xxx&template=red></script>來判定是否需要重新生成該頁面。

>>>>apache 的ErrorDocument404 功能, 但是這裡前台鏈接是指向html的,假如該html不存在, 會通過apache的文件不存在重定向到404處理程序的功能重新生成html

(注:httpd.conf加 ErrorDocument 404 /errprocess.php 指令), 利用這個功能可以解決修改網站樣式的時候,要更新所有生成的html文件的問題,

將整個static文件夾刪除即可。

b. 通過嵌入<script></script>js來調用php的方式,更改許多需要變化的地方(如點擊率之類的)

  2. 前台訪問鏈接指向php程序,php程序首先檢查是否存在相應的靜態文件。假如靜態文件不存在。則生成並重定向至此文件,否則直接重定向。

這種方法實際使用中一般和apache的url_rewrite功能一起使用。將php的文件地址重顯示為html的形式,有利於搜索引擎的檢索。

這種方法在效率上略有損失,不過程序結構簡單,便於調整,在訪問量不是很大時使用很合適。

注重事項:

所有生成的html文件都集中放到一個文件夾, 其中還應該注重生成文件假如很多的話(如論壇),訪問其中一個htm文件,將會變得很慢,

那麼最好通過

>>>>按日期來分隔文件夾,如static/2004/11/18/0001.htm
>>>>對帖子id根據數據庫中字段長度做str_pad:比方說id為123456,數據庫中為int(11),則id處理為00000123456,考慮到linux下一般同一下文件到達四位數會有性能影響,對其做切割,最後路徑為static/00/000/123/456.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved