萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 用PHP實現WEB動態網頁靜態

用PHP實現WEB動態網頁靜態

   在最近幾年,萬維網(也稱環球信息網,即WWW)不斷改變信息處理技術的面貌。WEB已經快速地成為一種有效的媒介,並適合人們和商業溝通和協作。幾乎所有的信息技術領域都普遍受到WEB的影響。Web訪問帶來更多用戶和更多數據,這意味著給服務器和數據庫更多壓力和最終用戶得到越來越慢的響應速度。與不斷靠增加CPU,磁盤驅動器及內存來跟上這種增長的需求相比, WEB動態網頁面靜態化應該是一個更實用,更經濟的選擇。

  用PHP實現WEB動態網頁靜態化的具體實現函數如function gen_static_file()所示

function gen_static_file($program, $filename)
{
$program 1= "/usr/local/apache/htdocs/php/" . $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的文件中去(如圖2)。兩個參數中$program是PHP動態頁面程序,$filename是生成的靜態頁面的名字(可根據需要自己制定命名規則,這一點很重要,見下文),/usr/local/php4/bin/php是PHP中具有把程序輸入文件功能的部分,System是PHP中執行外部命令的函數。我們還可以看出所有生成動態頁面的php程序需放在/php/目錄下,所有新產生的靜態頁面則會出現在/static_html/目錄下(這些路徑可以根據具體需要設置)。

  下面讓我們舉個具體例子,看一下college_static.php的靜態頁面是怎樣生成的。

function gen_college_static ()
{
for ($i = 0; $i 〈= 32; $i++〉
{
putenv("province_id=" . $i); //*.php文件從數據庫取數據時要用到。
$filename = " college_static". $i . ".html";
gen_static_file("college_static.php", $filename);
}

  從這個函數我們可以看到通過調用函數gen_static_file(), college_static.php經過靜態化,變成了33個靜態頁面college.static0.html~college.static33.html,其中$filename會隨著$I的變化而變化。當然也可以從數據庫中直接取值,來控制生成的靜態頁面的個數和名字,其他程序對生成的靜態頁面的調用應和靜態頁面的命名規則一致。

copyright © 萬盛學電腦網 all rights reserved