修改Session存放方式为MySQL的类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了修改Session存放方式为MySQL的类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2119字,纯文字阅读大概需要4分钟。
内容图文
![修改Session存放方式为MySQL的类](/upload/InfoBanner/zyjiaocheng/554/652b247a2bf646859b80513936437eeb.jpg)
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的类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。