牛骨文教育服务平台(让学习变的简单)
博文笔记

session修改存储机制写成类

创建时间:2013-08-11 投稿人: 浏览次数:794
<?php

class sessionsTable extends mysqlDB {
    protected $table_name = "sessions";
    protected $fields;


    public function __construct() {
        //调用父类的构造方法
        parent::__construct();
        //设置session处理器
        session_set_save_handler(
            array($this, "open"),
            array($this, "close"),
            array($this, "read"),
            array($this, "write"),
            array($this, "destroy"),
            array($this, "gc")
        );
        //开启session
        session_start();
    }


    public function open($save_path, $sess_name) {
        return true;
    }
    public function close() {
        return true;
    }
    public function read($sess_id) {
        $query = "select sess_data from cz_sessions where sess_id="{$sess_id}"";
        $row = $this->getRow($query);
        return $row["sess_data"];


    }
    public function write($sess_id, $sess_data) {
        $expire = time();
        $query = "insert into cz_sessions values ("{$sess_id}", "{$sess_data}", {$expire}) on duplicate key update sess_data="{$sess_data}", expire={$expire}";
        return $this->query($query);
    }
    public function destroy($sess_id) {
        $query = "delete from cz_sessions where sess_id="{$sess_id}"";
        return $this->query($query);
    }
    public function gc($ttl) {
        $expire = time() - $ttl;
        $query = "delete from cz_sessions where expire < {$expire}";
        return $this->query($query);
    }
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。