php頁面靜態化筆記

2021-07-22 18:36:26 字數 2391 閱讀 4438

<?php/**

* php頁面靜態化

* 靜態化分為 真靜態和偽靜態

* 靜態化的有點在於 seo 和 安全性 使用快取機制還可以大大提高**的速度 */

/*** php自帶的快取機制

* 需要在php.ini中進行配置

* 或者使用ob_start()-> output_buffering:on

* 關於幾個快取的函式:ob_start();ob_clean();ob_get_content();ob_end_clean();關閉快取同時清空

* ob_flush();輸出快取裡面的內容並且清空,但是不關閉 ob_end_flush();關閉同時輸出 */

/**/

ob_start();//

開啟快取

echo 'yyy';//

沒有開啟快取的情況下會報錯,因為沒有遇到header的時候,php預設傳送乙個header,這個header無法修改

header('content-type:text/htm;charset=utf-8');

echo '123';

ob_get_contents();//

得到快取的內容

ob_end_clean

();echo 'aa';//

放在程式快取裡面

header('content-type:text/htm;charset=utf-8');//

執行的時候會報錯,因為快取已經關閉

/** 利用php自帶的快取機制做真快取

* 真快取的頁面的內容應該是長期都不需要變的,並且不同使用者看到的東西都是一樣的

* 原理:使用者第一次訪問的時候查詢資料庫,然後得到快取區的內容,並且放到快取檔案裡面

* *//**

*/ob_start

();//

判斷快取檔案是否存在

$html_filename='static.html';

if(file_exists($html_filename) && (filemtime($html_filename)+30) > time())//

超過30秒則重新生成

echo 'your content';

$html_content=ob_get_contents

();$html_filename='static.html';

file_put_contents($html_filename,$html_content

);/*

* * 上述原理的缺陷:1.實時性不夠 2.不利於seo優化

* 解決辦法:在資料庫發生增加和更新的時候更新快取檔案

* */

if($_request['act'] == 'add')//

update 也是

",'?>',$template_content

);

//生成快取檔案

$php_tplname='php_tpl.php';

file_put_contents($php_tplname,$php_content

);

include(file_put_contents

);

$html_content=ob_get_contents

();

$html_filename='static.html';

file_put_contents($html_filename,$html_content

); }/*

* * 真靜態的缺陷:生成的 快取檔案很多,佔硬碟

* 對於海量的html生成,可以考慮用偽靜態 */

$str='123,33,333';

preg_match('/\d\d\d\d/is',$str,$arr);//

匹配連續四個出現的數字 返回到arr 只是匹配乙個 arr[0]

preg_match('/(\d)(\d)/is',$str,$arr);//

這時候arr返回三個 0放置匹配的字串,arr[n]按照表示式順序返回匹配的字串

//對於需要全部匹配的使用preg_match_all()函式;正規表示式裡面需要'' 不要使用""/**

* 使用apache的rewrite機制

* 注意點:apache的配置 開啟rewrite module 也要設定derectory的許可權 allowoverride from all

* 檔案 .htacss //匹配規則是從上而下的,可以設定error頁面

* rewireengine on

* news-id(\d)\.html$ news.php?id=$1

* news-id(\d).html$ error.php #錯誤頁面放到最後 */

php頁面靜態化

目前cms系統多採用了頁面靜態化,這樣做的好處是 一是能減輕其伺服器的負擔,二是因為生成了html靜態頁面,所以其 被搜尋引擎搜尋到的機率更大一些,也就是為了 推廣。1 頁面靜態化分類 真靜態 通過程式生成靜態頁面檔案,當我們訪問的時候,就是直接訪問的靜態頁面。偽靜態 是動態的 看起來像靜態的 換句...

php 頁面靜態化

php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化。兩者的區別在於php生成靜態頁面的處理機制不同。1.ob快取實現 頁面在輸出之前,會將輸出資料暫時存放到buffer 緩衝器 中,然後才會輸出到頁面,所以buffer中的資料就是php 執行後...

php頁面靜態化

php頁面靜態化 php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化,兩者的區別在於php生成靜態頁面的處理機制不同。為什麼要頁面靜態化 一 加快頁面開啟瀏覽速度,靜態頁面無需連線資料庫開啟速度較動態頁面有明顯提高 二 有利於搜尋引擎優化seo...