<?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...