<?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
}
?>
本文地址:https://www.stayed.cn/item/1472
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我