这篇文章主要讲解了“PHP如何使用MySQL管理Session的回调函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP如何使用MySQL管理Session的回调函数”吧!
复制代码 代码如下:
<?php
class MySession extends DBSQL {
/**
* __construct()
*/
public function __construct() {
parent::__construct ();
}
/**
* open()
*
* @param <String> $sSavePath
* @param <String>$sSessionNames
*
* @return <Boolean> true
*/
public function open($sSavePath, $sSessionName) {
return true;
}
/**
* close()
*/
public function close() {
return true;
}
/**
* read()
*
* @param <String> $sSessionId
* @return <String> Session data or null on error...
*/
public function read($sSessionId) {
$sSessionId = addslashes(trim($sSessionId));
$sSql = "SELECT * FROM tb_session WHERE F_SessionId = '{$sSessionId}'";
//echo $sSql;
if(false != ($result = $this->select($sSql))) {
//var_dump($result[0]['F_SessionData']);
return $result[0]['F_SessionData'];
} else {
return '';
}
}
/**
* write()
*
* @param <String> $SessionId
* @param <String> $sSessionData
*
* @return <Boolean> true or false
*/
public function write($sSessionId, $sSessionData) {
$arrSession = array();
$arrSession['F_SessionId'] = addslashes(trim($sSessionId));
$arrSession['F_SessionData'] = addslashes($sSessionData);
$arrSession['F_SessionCreated'] = date("Y-m-d H:i:s");
$arrSession['F_SessionUpdated'] = date("Y-m-d H:i:s", time() + 1440);
// 新session及更新的session
if (false != ($result = $this->insertData('tb_session', $arrSession))) {
return true;
} else {
$arrUpdateSession = array();
$arrUpdateSession['F_SessionData'] = addslashes($sSessionData);
$arrUpdateSession['F_SessionUpdated'] = date("Y-m-d H:i:s", time() + 1440);
if (false != ($result = $this->updateData('tb_session', "'".addslashes($sSessionId)."'", 'F_SessionId', $arrUpdateSession))) {
return true;
} else {
return false;
}
}
}
/**
* destroy()
*
* @param <String> $sSessionId
* @return <Boolean> true
*/
public function destroy($sSessionId) {
$sSessionId = addslashes(trim($sSessionId));
$this->delData($sSessionId, 'F_SessionId', 'tb_session');
return true;
}
/**
* gc
*
* @param <int> $nMaxLifeTime seconds
*
* @return <Boolean> true
*/
public function gc($nMaxLifeTime) {
$dtExpiredTime = date("Y-m-d H:i:s", time() - $nMaxLifeTime);
$sSql = "DELETE FROM tb_session WHERE F_SessionUpdated < {$dtExpiredTime}";
//echo $sSql;
$this->delete($sSql);
return true;
}
/**
* __desctruct()
*
*/
function __destruct() {
// ensure session data is written out before classes are destroyed
// (see http://bugs.php.net/bug.php?id=33772 for details)
@session_write_close();
} // __destruct
}
?>
感谢各位的阅读,以上就是“PHP如何使用MySQL管理Session的回调函数”的内容了,经过本文的学习后,相信大家对PHP如何使用MySQL管理Session的回调函数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。