什麼是真靜態

真靜態的實現得意


靜態化:
靜態化是解決減輕網站壓力,提高網站訪問速度的常用方案.包括:純靜態和僞靜態。
純靜態:
將PHP程序生成靜態的HTML文件,保存到服務器的磁盤中。
原理:
在用戶訪問PHP程序時,首先檢測靜態的HTML文件是否存在,如果存在直接輸出靜態文件,如果靜態文件不存在,查詢數據庫,生成靜態文件,並輸出。
優勢:
減少PHP程序編譯和對數據庫的查詢。
數據緩衝區:
數據緩衝區是用戶前端用來存儲、操縱數據的對象。
通過輸出控制函數實現純靜態化:
ob_start()
:打開輸出控制緩衝
返回值:成功時返回 TRUE, 或者在失敗時返回 FALSE.
ob_get_contents()
:返回輸出緩衝區的內容
返回值:輸出緩衝區的內容,或者如果輸出緩衝區無效將返回FALSE
ob_clean()
:清空(擦掉)輸出緩衝區的內容。 沒有返回值
ob_end_clean:刪除內部緩衝區的內容,並且關閉內部緩衝區
返回值:成功時返回 TRUE, 或者在失敗時返回 FALSE
ob_flush()
:沖刷出(送出)輸出緩衝區中的內容。 沒有返回值
ob_end_flush :發送內部緩衝區的內容到瀏覽器,並且關閉輸出緩衝區。
返回值:成功時返回 TRUE, 或者在失敗時返回 FALSE




接下來我們看一些例子

這個是我週考的一個簡單的例子
if(file_exists('jds.html')){//這個緩存文件是否存在
echo 'statrc';//展示效果用的
$res=file_get_contents('jds.html');//存在則獲取靜態頁面
echo $res;//輸出
}else{
$liu=fopen('jds.html','w');//否則創建一個文件
ob_start();//開啓緩衝區
include_once('jd.php');//放入緩衝區的內容;
$str=ob_get_contents();//獲取緩衝區的內容存入一個文件
if(fwrite($liu,$str)){
fclose($liu);
//創建成功的話關閉文件流 }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章