tailin!
|
分享:
x0
|
[SQL][教學] 用PHP實現WEB動態網頁靜態化
在最近幾年,網路不斷改變資訊處理技術的面貌。 WEB已經快速地成為一種有效的媒介,並適合人們和商業溝通和協作。幾乎所有的資訊技術領域都普遍受到WEB的影響。 Web訪問帶來更多用戶和更多資料,這意味著給伺服器和資料庫更多壓力和最終用戶得到越來越慢的回應速度。 與其不斷靠增加CPU,磁碟機及記憶體來跟上這種增長的需求相比, WEB動態網頁面靜態化應該是一個更實用,更經濟的選擇。
用PHP實現WEB動態網頁靜態化的具體實現函數如function gen_static_file()所示
function gen_static_file($program, $filename){ $program1= "/usr/local/apache/htdocs/static/" . $program; $filename1 = "/usr/local/apache/htdocs/static/html/" . $filename; $cmd_str = "/usr/local/php4/bin/php " . $program1 . " } " . $filename1 . " "; system($cmd_str); echo $filename . " generated.〈br〉"; }
這個函數是實現靜態化的關鍵,即PHP動態頁面程式不是被送到瀏覽器中,而是輸入到名為 $filename 的文件中去。 兩個參數中$program是PHP動態頁面程式,$filename是生成的靜態頁面的名字 (可根據需要自己制定命名規則,這一點很重要,見下文), /usr/local/php4/bin/php是PHP中具有把程式輸入文件功能的部分, System是PHP中執行外部命令的函數。我們還可以看出所有生成動態頁面的php程式需放在/php/目錄下, 所有新生的靜態頁面則會出現在/static_html/目錄下(這些路徑可以根據具體需要設置)。
下面讓我們舉個具體例子,看一下college_static.php的靜態頁面是怎樣生成的。
function gen_static (){ for ($i = 0; $i 〈= 32; $i++〉{ putenv("province_id=" . $i);
//*.php文件從資料庫取資料時要用到。$filename = " static". $i . ".html"; //gen_static_file("static.php", $filename);}
從這個函數我們可以看到通過調用函數gen_static_file(), college_static.php經過靜態化, 變成了33個靜態頁面college.static0.html~college.static33.html,其中$filename會隨著$I的變化而變化。 當然也可以從資料庫中直接取值,來控制生成的靜態頁面的個數和名字, 其他程式對生成的靜態頁面的調用應和靜態頁面的命名規則一致。
|