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

PHP封裝的數(shù)據(jù)庫保存session功能類

 更新時(shí)間:2016年07月11日 11:30:41   作者:dotcoo  
這篇文章主要介紹了PHP封裝的數(shù)據(jù)庫保存session功能類,涉及php基于SessionHandlerInterface接口實(shí)現(xiàn)的讀取、寫入、保存、銷毀等常用操作方法,需要的朋友可以參考下

本文實(shí)例講述了PHP封裝的數(shù)據(jù)庫保存session功能類。分享給大家供大家參考,具體如下:

PHP用數(shù)據(jù)庫保存session類:

<?php
class SafeSessionHandler implements SessionHandlerInterface {
  public $save_path;
  public $session_name;
  public $table;
  public function __construct() {
    $this->table = new Table("safe_session");
  }
  private function session_id_parse($session_id) {
    $time = hexdec(substr($session_id, 0, 8));
    $skey = substr($session_id, 8);
    return array($time, $skey);
  }
  public function close() {
    loginfo("close: ");
    return true;
  }
  public function create_sid() {
    loginfo("create_sid: ");
    $time = time();
    $skey = "";
    $char = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    for ($i=0; $i<52; $i++) {
      $skey .= $char{mt_rand(0, 61)};
    }
    $session = array(
      "time" => $time,
      "skey" => $skey,
      "sval" => "",
    );
    $this->table->insert($session);
    return dechex($time) . $skey;
  }
  public function destroy($session_id) {
    loginfo("destroy: %s", $session_id);
    list($time, $skey) = $this->session_id_parse($session_id);
    $this->table->where("time = ?", $time)->where("skey = ?", $skey)->delete();
    return true;
  }
  public function gc($maxlifetime) {
    loginfo("gc: %s", $maxlifetime);
    $this->table->where("time < ?", time() - 86400 * 30)->delete();
    return true;
  }
  public function open($save_path, $session_name) {
    loginfo("open: %s, %s", $save_path, $session_name);
    $this->save_path = $save_path;
    $this->session_name = $session_name;
    return true;
  }
  public function read($session_id) {
    loginfo("read: %s", $session_id);
    list($time, $skey) = $this->session_id_parse($session_id);
    $row = $this->table->where("time = ?", $time)->where("skey = ?", $skey)->select()->fetch();
    if (empty($row)) {
      return "";
    }
    return $row["sval"];
  }
  public function write($session_id, $session_data) {
    loginfo("write: %s, %s", $session_id, $session_data);
    $session = array("sval" => $session_data,);
    list($time, $skey) = $this->session_id_parse($session_id);
    $this->table->where("time = ?", $time)->where("skey = ?", $skey)->update($session);
    return true;
  }
}

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時(shí)間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP中動(dòng)態(tài)顯示簽名和ip原理

    PHP中動(dòng)態(tài)顯示簽名和ip原理

    PHP中動(dòng)態(tài)顯示簽名和ip原理...
    2007-03-03
  • php重定向的三種方法分享

    php重定向的三種方法分享

    個(gè)人更傾向于header的方法,這樣頁面的跳轉(zhuǎn)速度更快點(diǎn),用戶從視覺上不易察覺整頁的跳轉(zhuǎn),而只是局部的變化
    2012-02-02
  • PHP開發(fā)api接口安全驗(yàn)證操作實(shí)例詳解

    PHP開發(fā)api接口安全驗(yàn)證操作實(shí)例詳解

    這篇文章主要介紹了PHP開發(fā)api接口安全驗(yàn)證操作,結(jié)合實(shí)例形式詳細(xì)分析了PHP開發(fā)api接口安全驗(yàn)證的原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • php算法實(shí)例分享

    php算法實(shí)例分享

    本文給大家分享了幾個(gè)常見的php算法的實(shí)例代碼,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
    2015-07-07
  • thinkphp3.2點(diǎn)擊刷新生成驗(yàn)證碼

    thinkphp3.2點(diǎn)擊刷新生成驗(yàn)證碼

    這篇文章主要介紹了thinkphp3.2點(diǎn)擊刷新生成驗(yàn)證碼的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • php微信支付接口開發(fā)程序

    php微信支付接口開發(fā)程序

    微信支付接口現(xiàn)在也慢慢的像支付寶一個(gè)可以利用api接口來實(shí)現(xiàn)第三方網(wǎng)站或應(yīng)用進(jìn)行支付了,下文整理了一個(gè)php微信支付接口開發(fā)程序并且己測(cè)試,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 深入淺出理解PHP原理之變量賦值

    深入淺出理解PHP原理之變量賦值

    將會(huì)對(duì)變量賦值過程中,PHP內(nèi)部對(duì)數(shù)據(jù)處理的原理進(jìn)行闡述,不過在講述該原理前,需要先了解一下變量名和它的值是如何關(guān)聯(lián)起來的,這個(gè)對(duì)變量賦值的理解非常重要
    2021-09-09
  • php中var_export與var_dump的區(qū)別分析

    php中var_export與var_dump的區(qū)別分析

    php中var_export與var_dump的區(qū)別分析,在大多數(shù)情況下,多用var_dump來輸出,因?yàn)樗草敵隽藬?shù)據(jù)類型。
    2010-08-08
  • 全新Mac配置PHP開發(fā)環(huán)境教程

    全新Mac配置PHP開發(fā)環(huán)境教程

    趁著這次加硬盤的機(jī)會(huì),就準(zhǔn)備徹底重做開發(fā)環(huán)境。現(xiàn)在對(duì)Mac也有了一定的了解,特地記錄一下本次的開發(fā)環(huán)境安裝詳情,給自己一個(gè)備忘,希望也可以幫助到剛接觸Mac環(huán)境的同學(xué)們
    2016-02-02
  • php獲取url參數(shù)方法總結(jié)

    php獲取url參數(shù)方法總結(jié)

    這篇文章主要介紹了php獲取url參數(shù)方法,實(shí)例總結(jié)了利用parse_url()函數(shù)解析URL的方法,需要的朋友可以參考下
    2014-11-11

最新評(píng)論

繁峙县| 蓝山县| 弋阳县| 自治县| 黑山县| 金乡县| 荣成市| 禹城市| 杭锦后旗| 获嘉县| 泗水县| 常州市| 东丰县| 清涧县| 林芝县| 颍上县| 洪泽县| 谢通门县| 蓝山县| 密云县| 栖霞市| 景泰县| 政和县| 邮箱| 寻乌县| 阿坝| 宁城县| 宝鸡市| 兴海县| 庄河市| 姜堰市| 青田县| 湘潭市| 灵台县| 玛曲县| 哈巴河县| 长沙市| 周口市| 临颍县| 庆云县| 政和县|