實現(xiàn)PHP頁面靜態(tài)化_PHP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:怎樣給PHP源代碼加密?PHP二進制加密與解密的解決辦法本篇文章小編為大家介紹,怎樣給PHP源代碼加密?PHP二進制加密與解密的解決辦法。需要的朋友參考下
<?php
//首先查看緩存文件
if(file_exists("static.html")){
//緩存時間為3分鐘
if(time()-filemtime("static.html")<60*3){
//將靜態(tài)文件內(nèi)容返回給客戶端
$start_time = microtime();
echo "我是從靜態(tài)文件中讀取的數(shù)據(jù):"."<br/>";
echo file_get_contents("static.html");
$end_time = microtime();
echo "靜態(tài)文件使用時間:".($end_time-$start_time);
exit;
}
}
//如果是首次訪問,或者是上次緩存的時間超過3分鐘,則從數(shù)據(jù)庫中讀取數(shù)據(jù)
$host = "127.0.0.1";
$user = "root";
$password = "123456";
//記錄開始時間
$start_time = microtime();
mysql_connect($host,$user,$password);
mysql_select_db("mydb");
mysql_query("set names utf8");
$sql = "SELECT name,address,email FROM users";
$resource = mysql_query($sql);
echo "我是從數(shù)據(jù)庫中讀取的數(shù)據(jù):<br/>";
ob_start();//打開輸出緩沖
echo "<table border='1'><tr><th>姓名</th><th>地址</th><th>Email</th></tr>";
//輸出取得的信息
while($userInfo = mysql_fetch_assoc($resource)){
echo "<tr>";
echo "<td>".$userInfo['name']."</td>";
echo "<td>".$userInfo['address']."</td>";
echo "<td>".$userInfo['email']."</td>";
echo "</tr>";
}
$end_time=microtime();
$str=ob_get_contents();//獲取緩沖區(qū)的內(nèi)容
ob_end_flush();
echo "從數(shù)據(jù)庫讀數(shù)據(jù)的時間:".($end_time-$start_time);
file_put_contents("static.html",$str);
?>
users表中有三條記錄,使用的是apache服務(wù)。測試結(jié)果如下:
從數(shù)據(jù)庫中讀數(shù)據(jù)其平均執(zhí)行時間為:0.0008041s左右
直接讀緩存文件期平均執(zhí)行時間為:0.0000475
數(shù)據(jù)庫中的記錄只有三條,SQL也是簡單的單表查詢,當(dāng)表的中記錄很多時,或者是多表查詢其執(zhí)行的時間將會更長。緩存雖然能夠減少訪問數(shù)據(jù)庫的次數(shù),加速響應(yīng)時間,但緩存并不適合所有的頁面。有些頁面可能每次訪問時其頁面的顯示的內(nèi)容就會發(fā)生變化,這樣的頁面顯然不能使用緩存。對于那些變化很少的頁面才比較適合使用緩存。
分享:基于magic_quotes_gpc與magic_quotes_runtime的區(qū)別與使用介紹本篇文章小編為大家介紹,基于magic_quotes_gpc與magic_quotes_runtime的區(qū)別與使用介紹。需要的朋友參考下
相關(guān)PHP教程:
- 相關(guān)鏈接:
- 教程說明:
PHP教程-實現(xiàn)PHP頁面靜態(tài)化。