最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用php的ob緩存機制實現(xiàn)頁面靜態(tài)化方法

 更新時間:2017年07月09日 18:51:18   投稿:jingxian  
下面小編就為大家?guī)硪黄胮hp的ob緩存機制實現(xiàn)頁面靜態(tài)化方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

首先介紹一下php中ob緩存常用到的幾個常用函數(shù)

ob_start():開啟緩存機制

ob_get_contents():獲取ob緩存中的內(nèi)容

ob_clean()清除ob緩存中的內(nèi)容,但不關閉緩存

ob_end_clean() 清除ob緩存中的內(nèi)容,并關閉緩存

ob_flush 清空緩存,輸出內(nèi)容,但不關閉緩存

ob_end_flush 清空緩存,輸出內(nèi)容,并關閉緩存

flush強制刷新輸出緩存中的內(nèi)容

按照http協(xié)議的規(guī)定,回應內(nèi)容不能在回應頭之前輸出,所以,如果在header()函數(shù)前面有內(nèi)容輸出,就會出現(xiàn)錯誤,但使用了ob_start()后就會將回應內(nèi)容先放在ob緩存中,不會再消息頭發(fā)送之前被發(fā)送,就解決了header()報錯的問題!

下面說一下用php自帶的ob緩存機制實現(xiàn)頁面靜態(tài)化的方法,示例代碼如下

<?php
  
    $id=$_REQUEST['id'];
    
    //判斷緩存文件是否存在,如果存在,直接輸出
    if(file_exists('content'.$id.'.html')){
      echo file_get_contents('content'.$id.'.html');
      return;
    }
    
    //開啟緩存機制
    ob_start();
    
    //到數(shù)據(jù)庫中查詢所需要的內(nèi)容
    $conn=mysql_connect("localhost","root","root");
    mysql_select('db');
    mysql_query('set names utf8');
    
    $sql="select content from table_name where id=$id";
    $res=mysql_query($sql);
    $row=mysql_fetch_assoc($res);
    $content=$row[0];
    
    mysql_free_result($res);
    mysql_close($conn);
    echo $content;
    //將輸出的內(nèi)容保存到文件中,形成靜態(tài)頁面,在下次訪問的時候,直接讀取輸出
    file_put_contents('content'.$id.'.html',ob_get_contents());


?>

如上述代碼所示:

將我們查詢到的內(nèi)容直接保存到html文件中,如果文件存在,之間輸出,如果不存在,則訪問數(shù)據(jù)庫,執(zhí)行對應的查詢過程

如果要設置文件的過期時間,可以在if語句里面加一個判斷條件,用于判斷緩存文件是否過期,time()-設置的過期時間

以上這篇利用php的ob緩存機制實現(xiàn)頁面靜態(tài)化方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Laravel 5框架學習之表單驗證

    Laravel 5框架學習之表單驗證

    Laravel 通過 Validation 類讓您可以簡單、方便的驗證數(shù)據(jù)正確性及查看相應的驗證錯誤信息。如果是更復雜的驗證場景,你可能需要創(chuàng)建一個"表單請求"。表單請求是一個自定義的請求類包含了一些驗證的邏輯。你可以通過 Artisan 的命令行 make:request 來創(chuàng)建一個表單請求類
    2015-04-04
  • Yii2實現(xiàn)UploadedFile上傳文件示例

    Yii2實現(xiàn)UploadedFile上傳文件示例

    這篇文章主要介紹了Yii2實現(xiàn)UploadedFile上傳文件示例的資料,這里整理了詳細的代碼,有需要的小伙伴可以參考下。
    2017-02-02
  • ThinkPHP進程計數(shù)類Process用法實例詳解

    ThinkPHP進程計數(shù)類Process用法實例詳解

    這篇文章主要介紹了ThinkPHP進程計數(shù)類Process用法,以實例形式較為詳細的分析了Process類的定義及進程計數(shù)的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • php nginx 實時輸出的簡單實現(xiàn)方法

    php nginx 實時輸出的簡單實現(xiàn)方法

    本文通過實例代碼給大家介紹了php nginx 實時輸出的簡單實現(xiàn)方法,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-01-01
  • php操作xml并將其插入數(shù)據(jù)庫的實現(xiàn)方法

    php操作xml并將其插入數(shù)據(jù)庫的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猵hp操作xml并將其插入數(shù)據(jù)庫的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • php中配置文件保存修改操作 如config.php文件的讀取修改等操作

    php中配置文件保存修改操作 如config.php文件的讀取修改等操作

    有時候我們需要用php將一些配置參數(shù)寫到文件里面,方便后期讀取使用,這里就為大家分享一下具體的實現(xiàn)代碼,需要的朋友可以參考一下
    2021-05-05
  • PHP AjaxForm提交圖片上傳并顯示圖片源碼

    PHP AjaxForm提交圖片上傳并顯示圖片源碼

    這篇文章主要為大家詳細介紹了PHP AjaxForm提交圖片上傳并顯示圖片源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • PHP實現(xiàn)無限分類的實現(xiàn)方法

    PHP實現(xiàn)無限分類的實現(xiàn)方法

    無限級分類是一種設計技巧,在開發(fā)中經(jīng)常使用,本篇文章主要介紹PHP實現(xiàn)無限分類的實現(xiàn)方法,有需要的可以了解一下。
    2016-11-11
  • php array_walk_recursive 使用自定的函數(shù)處理數(shù)組中的每一個元素

    php array_walk_recursive 使用自定的函數(shù)處理數(shù)組中的每一個元素

    php中,如果需要對數(shù)組中的每個元素進行一定規(guī)則的處理,我們可以使用array_walk_recursive,array_walk_recursive函數(shù)用于對數(shù)組中的每個成員遞歸地應用用戶函數(shù)。本文章通過實例向大家講解array_walk_recursive函數(shù)的使用方法
    2016-11-11
  • Laravel框架FormRequest中重寫錯誤處理的方法

    Laravel框架FormRequest中重寫錯誤處理的方法

    這篇文章主要介紹了Laravel框架FormRequest中重寫錯誤處理的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02

最新評論

庆阳市| 康平县| 布尔津县| 梧州市| 龙游县| 吴江市| 临澧县| 库车县| 巴彦淖尔市| 沁阳市| 汕头市| 安泽县| 宽甸| 阳泉市| 莆田市| 微山县| 古蔺县| 山丹县| 岚皋县| 石河子市| 呼伦贝尔市| 东安县| 日土县| 镇巴县| 上蔡县| 肥城市| 都兰县| 龙里县| 惠来县| 厦门市| 永和县| 邢台县| 达拉特旗| 乃东县| 抚顺县| 安龙县| 榕江县| 裕民县| 乌苏市| 驻马店市| 鹿泉市|