国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP封裝的數據庫保存session功能類

PHP封裝的數據庫保存session功能類

2021-02-02 16:51dotcoo PHP教程

這篇文章主要介紹了PHP封裝的數據庫保存session功能類,涉及php基于SessionHandlerInterface接口實現的讀取、寫入、保存、銷毀等常用操作方法,需要的朋友可以參考下

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

PHP用數據庫保存session類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?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;
  }
}

希望本文所述對大家PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲成人av一区二区三区 | 精品乱子伦一区二区三区 | 免费午夜视频 | 日本天天操| 久久色av| 爱操在线 | 亚洲免费看片 | 自拍一区视频 | 日日爱999| 欧美午夜精品久久久久免费视 | 国产视频一区二 | 亚洲a精品 | 日韩三级电影在线免费观看 | 日本在线一区二区三区 | 日韩视频一区 | 人人做人人澡人人爽欧美 | 久久综合欧美 | 午夜三区| 日本高清中文字幕 | 在线日韩一区 | 国产精品极品美女在线观看免费 | 午夜看片 | 亚洲国产aⅴ成人精品无吗 成人午夜视频在线观看 | 精品久久久久久亚洲综合网 | 欧美综合一区二区三区 | 精品久久一区二区三区 | 精品成人免费 | 久久不卡 | 国产一区二区精品在线观看 | 久久久久久国产精品免费免费狐狸 | 亚洲精品久久久久国产 | 欧美精品在线一区 | 日韩视频www| 97人人爱 | 国产精品久久久久久久久久新婚 | 国产欧美日韩三级 | 精品视频久久 | 97久久精品人人澡人人爽 | 久久久久综合精品福利啪啪 | 久久99深爱久久99精品 | 黄色免费视频 |