真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

(PHP學(xué)習(xí)筆記)實(shí)現(xiàn)頁面靜態(tài)化

  當(dāng)我們在訪問各個門戶信息網(wǎng)站時,主頁都會給我們顯示各種頭條、導(dǎo)航信息(例如新聞網(wǎng))。我們可以想象,面對眾多的數(shù)據(jù)庫訪問等操作,在我們訪問這些網(wǎng)頁的同時加載速度將會變得很慢。眾所周知,咱在訪問靜態(tài)頁面的速度是優(yōu)于動態(tài)網(wǎng)頁的。所以,實(shí)現(xiàn)頁面靜態(tài)化可以有效地解決這些問題。

成都創(chuàng)新互聯(lián)公司專注于貴溪企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站建設(shè)。貴溪網(wǎng)站建設(shè)公司,為貴溪等地區(qū)提供建站服務(wù)。全流程按需求定制開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

  那么,何為靜態(tài)化?其實(shí)根據(jù)字面理解我們可以得知,靜態(tài)化就是將一個動態(tài)的網(wǎng)頁轉(zhuǎn)變成一個類似靜態(tài)的網(wǎng)頁。動態(tài)頁面靜態(tài)化的實(shí)質(zhì)就是:生成靜態(tài)的HTML文件。

  靜態(tài)化需要用到兩個關(guān)鍵的知識點(diǎn):

    ①buffer緩沖區(qū)機(jī)制

    ②利用函數(shù)file_put_contents()寫入文件

  靜態(tài)化的過程:

     1、PHP模板頁面(與將要展示的HTML頁面一致,區(qū)別在于添加了PHP代碼)

    2、寫入靜態(tài)文件并生成HTML文件(從緩沖區(qū)中提取模板文件)

首先我們要先寫一個操作類,用于操作模板和生成靜態(tài)HTML文件:

operation.php:

$dsn = 'MySQL:dbname=chatroom;host=127.0.0.1';
$user = 'root';$password = '123456';
$pdo = new PDO($dsn, $user, $password);
$sql="SELECT * FROM messages limit 3";
$stmt = $pdo->prepare($sql);
$result = $stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);  //以關(guān)聯(lián)數(shù)組的形式返回結(jié)果
$rows = $stmt->fetchAll();
ob_start(); //打開緩沖區(qū)
require_once('muban.php');

  代碼解讀:首先從數(shù)據(jù)庫中讀取數(shù)據(jù),然后引入'muban.php'文件,目的是讓其在引入的過程中加入到緩沖區(qū)中。

根據(jù)流程步驟:

1、PHP模板頁面

  為了演示方便,簡單寫了一個界面,如下所示:

muban.php

    

        

本月最熱主播排行榜

                       
  • 名稱:    收到禮物數(shù)量:

  •                           

      代碼解讀:遍歷'operation.php'文件中的'$rows'數(shù)組,將結(jié)果輸出到

  • 標(biāo)簽中。

    2、寫入靜態(tài)文件并生成HTML文件(從緩沖區(qū)中提取模板文件)

      在operation.php中后續(xù)加上以下代碼:

    if(file_put_contents('index.html',ob_get_clean())){  
      echo "success";
      }else{   
       echo "false";
      }

      利用'file_put_contents()'方法將緩沖區(qū)中的內(nèi)容寫入到'index.html'文件中去,完成了靜態(tài)文件的生成。ob_get_clean()方法是從緩沖區(qū)中讀取數(shù)據(jù)并且清除緩沖區(qū)(清除緩沖區(qū)也可以理解為加載本函數(shù)內(nèi)容不會顯示在終端)

    最終生成了'index.html'界面:

    (PHP學(xué)習(xí)筆記)實(shí)現(xiàn)頁面靜態(tài)化

    從控制臺可以看到加載響應(yīng)的時間為:

    (PHP學(xué)習(xí)筆記)實(shí)現(xiàn)頁面靜態(tài)化

    我們再看看muban.php頁面:

    (PHP學(xué)習(xí)筆記)實(shí)現(xiàn)頁面靜態(tài)化

    之前說過生成的html靜態(tài)文件是根據(jù)模板界面來生成的,所以界面是一樣的。再看看加載的相應(yīng)時間:

    (PHP學(xué)習(xí)筆記)實(shí)現(xiàn)頁面靜態(tài)化

    從響應(yīng)的時間我們可以看出,僅僅只有幾行代碼就產(chǎn)生了這么大的差距。可想而知,當(dāng)網(wǎng)頁信息量十分龐大的時候,對加載響應(yīng)的速度影響非常大。利用頁面靜態(tài)化,從而可以極大地避免這樣的問題出現(xiàn)。

    -----------------------------------------------------------------------------------------

    說到生成靜態(tài)文件,如果網(wǎng)頁信息有變化,那該怎么辦呢?答案就是重新生成(這不廢話嗎?)

    自動觸發(fā)系統(tǒng)生成靜態(tài)化頁面有三種常見的方式:

        1、頁面添加緩存時間。當(dāng)用戶請求頁面時,后臺判定頁面時間是否過期(超過了設(shè)置的緩存時間),如果超過了則生成新的靜態(tài)頁面;反之則獲取靜態(tài)頁面。

        2、手動觸發(fā)生成。為了解決頁面修改但是未能及時顯示的問題,后臺添加“一鍵更新”的按鈕實(shí)現(xiàn)點(diǎn)擊后生成靜態(tài)文件。

        3、Crontab定時掃描程序。該方法涉及到Linux操作系統(tǒng)上的應(yīng)用:

        */5**** php/data/StaticPage/operation.php

    該語句意為每5分鐘執(zhí)行以下index.php文件。由于本人對其了解不深,就不做過多描述,以免誤人子弟。


    文章題目:(PHP學(xué)習(xí)筆記)實(shí)現(xiàn)頁面靜態(tài)化
    文章來源:http://weahome.cn/article/psopod.html
  • 其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部