PHP生成靜態頁麵的方法
在PHP網站開發中(zhōng)為了網站推廣和(hé)SEO等需要,需要(yào)對(duì)網站進(jìn)行全站或(huò)局部靜態化處理,PHP生成靜態HTML頁麵有(yǒu)多(duō)種方法,比如利用PHP模板、緩存等實現頁麵靜態化,今天就以PHP實例教程形式討論PHP生成靜態頁麵的方法。頁麵靜態化的方法,分為兩種(zhǒng),一種是偽靜態,就是url 重寫,一種是你真的(de)靜態化(huà)。下麵介紹PHP中頁麵靜態化的方法。
什麽是PHP靜態化
PHP靜態化的簡單理解就是使網站生成頁麵以(yǐ)靜態HTML的形式展現在訪客麵前,PHP靜態(tài)化分純靜態化和偽(wěi)靜態化,兩者的區別在於PHP生成靜態頁麵的處理機(jī)製不同。
PHP生成靜態HTML頁麵的方法(fǎ)
1、利用PHP模板生成靜態頁(yè)麵
PHP模板實現靜態化非常方便,比如安裝和使用PHP Smarty實現(xiàn)網站靜態化。
2、使用PHP文件讀寫功能生成靜態頁麵
PHP生成靜態頁麵實例代碼
<?
$out1 = "<html><head><title>PHP網站靜態化教程</title></head>
<body>歡(huān)迎訪問PHP網站開發教程網www.ynaad.com,本文主要介紹PHP網站頁麵靜態化的方法
</body></html>";
$fp = fopen("leapsoulcn.html","w");
if(!$fp)
{
echo "System Error";
exit();
}
else {
fwrite($fp,$out1);
fclose($fp);
echo "Success";
}
?>
3、使用PHP輸出控製函數(Output Control)生成靜態(tài)頁麵
輸出(chū)控製函(hán)數(Output Control)也就是使用和控製緩存來生成(chéng)靜態HTML頁麵,也會使用到PHP文件讀寫函數。
PHP生(shēng)成靜態頁麵實例代碼
<?
ob_start();
echo "<html>".
"<head>".
"<title>PHP網站靜態化教程</title>".
"</head>".
"<body>歡迎訪問PHP網站開(kāi)發教程網www.ynaad.com,本文(wén)主要介紹PHP網站頁麵靜(jìng)態化的方(fāng)法</body>".
"</html>";
$out1 = ob_get_contents();
ob_end_clean();
$fp = fopen("leapsoulcn.html","w");
if(!$fp)
{
echo "System Error";
exit();
}
else
{
fwrite($fp,$out1);
fclose($fp);
echo "Success";
}
?>
我們知道使用PHP進行網站開發,一般(bān)執行結果直(zhí)接輸出到遊覽器,為了使用(yòng)PHP生成(chéng)靜態頁麵,就需要使(shǐ)用輸出控製函數控製緩存(cún)區,以便獲取緩存區的內容,然後再輸出到靜態HTML頁麵文件中以實現網站靜態(tài)化。
PHP生成靜態頁麵的思路為:首先開啟緩存(cún),然(rán)後輸出了HTML內容(你也可以通過(guò)include將(jiāng)HTML內容以文件形式包含進(jìn)來),之後獲取緩存中的內容,清空緩存後(hòu)通(tōng)過PHP文件讀寫函數將緩存內容寫入到靜態HTML頁麵文件中。PHP文(wén)件讀寫教程?
獲得輸出的緩存內容以生成靜態HTML頁麵的過程需要使用三(sān)個函數:ob_start()、ob_get_contents()、ob_end_clean()。
知識點:
1、ob_start函數一般主要是用來開(kāi)啟緩存,注意(yì)使用ob_start之前(qián)不能有任何輸出(chū),如空(kōng)格、字符等。
2、ob_get_contents函數主要用來獲取緩(huǎn)存中的(de)內容以字符串形式返回,注意此函數必須在(zài)ob_end_clean函數之前調用(yòng),否則獲取不到緩存(cún)內容。
3、ob_end_clean函數主要是清空緩存中(zhōng)的內(nèi)容並關閉緩存,成功則返回True,失敗則返回False
PHP輸出控(kòng)製函數(Output Control)有很多應用,今後將陸(lù)續展開。
至此,使用PHP生成靜態HTML頁麵以實現網站靜(jìng)態化的方法就介紹完了,根據實際情況和需求你(nǐ)可以選(xuǎn)擇不同的靜態化(huà)方法。
關鍵詞:PHP生成靜態
閱讀本文後您有什麽感想? 已有 人給(gěi)出(chū)評價!
- 0
- 0
- 0
- 0
- 0
- 0