最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

修改Session存放方式为MySQL的类

来源:动视网 责编:小采 时间:2020-11-09 12:26:35
文档

修改Session存放方式为MySQL的类

修改Session存放方式为MySQL的类:lt;php/*** 修改session存放方式为Mysql Aboc QQ:9986584*/class Session{//过期时间private $_LEFT_TIME = 1440;public funct /*** 修改session存放方式为Mysql Aboc QQ:9986584*/ class Session{ //过期
推荐度:
导读修改Session存放方式为MySQL的类:lt;php/*** 修改session存放方式为Mysql Aboc QQ:9986584*/class Session{//过期时间private $_LEFT_TIME = 1440;public funct /*** 修改session存放方式为Mysql Aboc QQ:9986584*/ class Session{ //过期


lt;?php/*** 修改session存放方式为Mysql Aboc QQ:9986584*/class Session{//过期时间private $_LEFT_TIME = 1440;public funct

/**
* 修改session存放方式为Mysql Aboc QQ:9986584
*/

class Session{

//过期时间
private $_LEFT_TIME = 1440;

public function open() {


}

public function close(){

}

/**
* 读
*/
public function read( $sessid ) {
$sql = "select data from dm_session where sessid ='$sessid' and expiry > time()";
$row = DMmysql::open()->fetchRow( $sql );
return $row['data'];
}

/**
* 写
*/
public function write( $sessid , $sessdata ) {
$data = array(
'expiry' => time()+ $this->_LEFT_TIME,
'data' => $sessdata,
'ip' => '192.168.1.123'
);
if( DMmysql::open()->fetchRow("select sessid from dm_session where sessid ='$sessid'") ) {
//更新
$where = "sessid = '$sessid'";
if( DMmysql::open()->update( 'dm_session',$data,$where ) ){
return true;
} else {
return false;
}
} else {
//插入
$data['sessid'] = $sessid;
if( DMmysql::open()->insert('dm_session',$data) ){
return true;
} else {
return false;
}
}
}

/**
* 指定销毁
*/
public function destroy( $sessid ) {
$where = "sessid = '$sessid'";
if(DMmysql::open()->delete('dm_session',$where)) {
return true;
} else {
return false;
}
}

/**
* 销毁过期的数据
*/
public function gc( $maxlifetime ) {
//随机销毁数据,减轻服务器压力
if( rand(0,3) == 3 ) {
$where = "expiry < time()";
if( DMmysql::open()->delete('dm_session',$where) ) {
return true;
} else {
return false;
}
}
}

}

$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();
?>


在每个使用session的文件前include一下就行了

数据库:

CREATE TABLE `dm_session` (
`sessid` char(32) NOT NULL default '',
`expiry` int(10) NOT NULL default '0',
`data` text NOT NULL,
`ip` char(15) NOT NULL default '',
PRIMARY KEY (`sessid`),
KEY `sesskid` (`sessid`,`expiry`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;

文档

修改Session存放方式为MySQL的类

修改Session存放方式为MySQL的类:lt;php/*** 修改session存放方式为Mysql Aboc QQ:9986584*/class Session{//过期时间private $_LEFT_TIME = 1440;public funct /*** 修改session存放方式为Mysql Aboc QQ:9986584*/ class Session{ //过期
推荐度:
标签: 保存 更改 方法
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top