介紹生成PHP網站頁面靜態化的方法

介紹生成PHP網站頁面靜態化的方法

2011-06-15 17:09 David David’s blog 字號:T | T
一鍵收藏,隨時查看,分享好友!

由於搜索引擎對頁面收錄和頁面收錄率的差別以及頁面資源佔用問題,我們很多時候需要實現頁面動態轉靜態的做法。本文介紹的是PHP網站頁面靜態化的方法,希望對你有幫助,一起來看。

AD:2013雲計算架構師峯會課程資料下載


頁面靜態化的方法,分爲兩種,一種是僞靜態,就是url 重寫,一種是你真的靜態化。下面介紹PHP中頁面靜態化的方法。

在PHP網站開發中爲了網站推廣和SEO等需要,需要對網站進行全站或局部靜態化處理,PHP生成靜態HTML頁面有多種方法,比如利用PHP模板、緩存等實現頁面靜態化,今天就以PHP實例教程形式討論PHP生成靜態頁面的方法。

什麼是PHP靜態化

PHP靜態化的簡單理解就是使網站生成頁面以靜態HTML的形式展現在訪客面前,PHP靜態化分純靜態化和僞靜態化,兩者的區別在於PHP生成靜態頁面的處理機制不同。

PHP生成靜態HTML頁面的方法

1、利用PHP模板生成靜態頁面

PHP模板實現靜態化非常方便,比如安裝和使用PHP Smarty實現網站靜態化。

2、使用PHP文件讀寫功能生成靜態頁面

PHP生成靜態頁面實例代碼

  1. <?    

  2. $out1 = "<html><head><title>PHP網站靜態化教程</title></head>  

  3. <body>歡迎訪問PHP網站開發教程網www.leapsoul.cn,本文主要介紹PHP網站頁面靜態化的方法  

  4. </body></html>";  

  5. $fp = fopen("leapsoulcn.html","w");    

  6. if(!$fp)    

  7. {    

  8. echo"System Error";    

  9. exit();    

  10. }    

  11. else {    

  12. fwrite($fp,$out1);    

  13. fclose($fp);    

  14. echo"Success";    

  15. }    

  16. ?>  

3、使用PHP輸出控制函數(Output Control)生成靜態頁面

輸出控制函數(Output Control)也就是使用和控制緩存來生成靜態HTML頁面,也會使用到PHP文件讀寫函數。

PHP生成靜態頁面實例代碼


  1. <?  

  2. ob_start();  

  3. echo"<html>".  

  4. "<head>".  

  5. "<title>PHP網站靜態化教程</title>".  

  6. "</head>".  

  7. "<body>歡迎訪問PHP網站開發教程網www.leapsoul.cn,本文主要介紹PHP網站頁面靜態化的方法</body>".  

  8. "</html>";  

  9. $out1 = ob_get_contents();  

  10. ob_end_clean();  

  11. $fp = fopen("leapsoulcn.html","w");  

  12. if(!$fp)  

  13. {  

  14. echo"System Error";  

  15. exit();  

  16. }  

  17. else

  18. {  

  19. fwrite($fp,$out1);  

  20. fclose($fp);  

  21. echo"Success";  

  22. }  

  23. ?>


我們知道使用PHP進行網站開發,一般執行結果直接輸出到遊覽器,爲了使用PHP生成靜態頁面,就需要使用輸出控制函數控制緩存區,以便獲取緩存區的內容,然後再輸出到靜態HTML頁面文件中以實現網站靜態化。

PHP生成靜態頁面的思路爲:首先開啓緩存,然後輸出了HTML內容(你也可以通過include將HTML內容以文件形式包含進來),之後獲取緩存中的內容,清空緩存後通過PHP文件讀寫函數將緩存內容寫入到靜態HTML頁面文件中。PHP文件讀寫教程?

獲得輸出的緩存內容以生成靜態HTML頁面的過程需要使用三個函數:ob_start()、ob_get_contents()、ob_end_clean()。

知識點:

1、ob_start函數一般主要是用來開啓緩存,注意使用ob_start之前不能有任何輸出,如空格、字符等。

2、ob_get_contents函數主要用來獲取緩存中的內容以字符串形式返回,注意此函數必須在ob_end_clean函數之前調用,否則獲取不到緩存內容。

3、ob_end_clean函數主要是清空緩存中的內容並關閉緩存,成功則返回True,失敗則返回False

PHP輸出控制函數(Output Control)有很多應用,今後將陸續展開。

至此,使用PHP生成靜態HTML頁面以實現網站靜態化的方法就介紹完了,根據實際情況和需求你可以選擇不同的靜態化方法。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章