session数据库类
div session数据库类 br / 你懂得 br / 一会把数据库操作类也发出来 br / br / 结合数据库操作类:http://www.oschina.net/code/snippet_155355_4844 br / br / 配制 br / div ?php /div div /*配制*/ /div div $config=arra
session数据库类
你懂得
一会把数据库操作类也发出来
结合数据库操作类:http://www.oschina.net/code/snippet_155355_4844
配制
你懂得
一会把数据库操作类也发出来
结合数据库操作类:http://www.oschina.net/code/snippet_155355_4844
配制
<?php
/*配制*/
$config=array(
/* 数据库设置 */
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'php', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => '123', // 密码
'DB_PREFIX' => 'jiaodu_', // 数据库表前缀
'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8
/* SESSION设置 */
'SESSION_START'
=> 'user', //session方式,文件方式:file, 数据库设置为user
);
<?php
/**
* session类
* @author 角度 QQ:1286522207
*
*/
class session extends Action{
private $session_db;
private $session_Overdue;
private $db_tablename;//数据库名称
function __construct(){
$this->session_Overdue=3600;
$this->session_db= $this->db();
}
/**
* 打开
*/
public function open() {
return true;
}
/**
* 关闭
*/
public function close() {
return true;
}
/**
* 读取
*/
public function read($id) {
$where['id']=$id;
$this->session_db->M('session');
$value=$this->session_db->find($where);
if ($value) {
return $value['data'];
} else {
return "";
}
}
/**
* 写入
*/
public function write($id, $datas) {
$where['id']=$id;
$date['data']=$datas;
$date['time']=time()+$this->session_Overdue;
$date['ip']=$this->session_db->get_client_ip();
if (empty($_SESSION['user_id'])){
$date['user']=0;
}else {
$date['user']=$_SESSION['user_id'];
}
$this->session_db->M('session');
$up=$this->session_db->Update($date, $where);
if ($up){
return true;
}else {
$date['id']=$id;
$this->session_db->Insert($date);
return true;
}
}
/**
* 摧毁
*/
public function destroy($id) {
$where['id']=$id;
return $this->session_db->Delete($where);
}
/**
* 回收
*/
public function gc($max) {
return true;
}
function __destruct(){
$this->session_db->Delete("`time`<'".time()."'");
}
}
ini_set ( 'session.save_handler',$config['SESSION_START']);
$session = new session ();
session_set_save_handler ( array ($session, 'open' ), array ($session, 'close' ), array ($session, 'read' ), array ($session, 'write' ), array ($session, 'destroy' ), array ($session, 'gc' ) );
session_start();
- 上一篇:Think仓储管理系统
- 下一篇:实用PDO MYSQL数库操作类
精彩图集
精彩文章






