小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

PHP動(dòng)態(tài)變靜態(tài)原理

 quasiceo 2014-05-25
用PHP輸出靜態(tài)頁(yè)面的方法,就我所知道的,有2種,一種是利用模板技術(shù),另一種是用ob系列函數(shù)。兩種方法,看起來(lái)都差不多,但是實(shí)際上,卻是不同的。

第一種:利用模板。目前PHP的模板可以說(shuō)是很多了,有功能強(qiáng)大的smarty,還有簡(jiǎn)單易用的smarttemplate等。它們每一種模板,都有一個(gè)獲取輸出內(nèi)容的函數(shù)。我們生成靜態(tài)頁(yè)面的方法,就是利用了這個(gè)函數(shù)。用這個(gè)方法的優(yōu)點(diǎn)是,代碼比較清晰,可讀性好。

這里我用smarty做例子,說(shuō)明如何生成靜態(tài)頁(yè)
復(fù)制代碼 代碼如下:
<?php 
require('smarty/Smarty.class.php'); 
$t = new Smarty; 
$t->assign("title","Hello World!"); 
$content = $t->fetch("templates/index.htm"); 
//這里的 fetch() 就是獲取輸出內(nèi)容的函數(shù),現(xiàn)在$content變量里面,就是要顯示的內(nèi)容了 
$fp = fopen("archives/2005/05/19/0001.html", "w"); 
fwrite($fp, $content); 
fclose($fp); 
?>  

第二種方法:利用ob系列的函數(shù)。這里用到的函數(shù)主要是 ob_start(), ob_end_flush(), ob_get_content(),其中ob_start()是打開瀏覽器緩沖區(qū)的意思,打開緩沖后,所有來(lái)自PHP程序的非文件頭信息均不會(huì)發(fā)送,而是保存在內(nèi)部緩沖區(qū),直到你使用了ob_end_flush().而這里最重要的一個(gè)函數(shù),就是ob_get_contents(),這個(gè)函數(shù)的作用是獲取緩沖區(qū)的內(nèi)容,相當(dāng)于上面的那個(gè)fetch(),道理一樣的。代碼:
復(fù)制代碼 代碼如下:
<?php 
ob_start(); 
echo "Hello World!"; 
$content = ob_get_contents();//取得php頁(yè)面輸出的全部?jī)?nèi)容 
$fp = fopen("archives/2005/05/19/0001.html", "w"); 
fwrite($fp, $content); 
fclose($fp); 
?>  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多