您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

session 类 数据库交互

2024/4/18 8:08:50发布5次查看
session 数据库交互类query(update .self::$table. set value='$session_data', expiry='$session_expire' where session_id='$session_id'); self::close(); } self::$is_del = true; } /** * 销毁 * * */ public static function destroy() { $session_id = self::get_session_id(); $_cookie['wbsid'] = ''; self::open(); self::$dbo->query(delete from .self::$table. where session_id='$session_id'); self::close(); } /** * 读取 私有 * */ private static function read() { $session_id = self::$session_id; if (!$session_id) { $session_id = self::get_session_id(); } if (!$session_id) return array(); $user_agent = isset($_server['http_user_agent']) ? md5($_server['http_user_agent']) : ''; $client_ip = fun::getip(); $session_expire = time - self::get_gc_maxtime(); $rs = self::$dbo->fetchrow(select session_id, value, agent, ip from .self::$table. where session_id='$session_id' and expiry>'$session_expire'); if (!$rs || $rs['agent'] != $user_agent || $rs['ip'] != $client_ip) { return false; } self::$session_id = $rs['session_id']; return unserialize($rs['value']); } /** * session 写入 私有 * */ private static function write(array $session_data) { $session_id = self::$session_id; if (!$session_id) { $session_id = self::get_session_id(); } $session_expire = time + self::get_gc_maxtime(); $user_agent = isset($_server['http_user_agent']) ? md5($_server['http_user_agent']) : ''; $client_ip = fun::getip(); $session_data = serialize($session_data); if (self::$session_id && self::$session_id === $session_id) { self::$dbo->query(update .self::$table. set value='$session_data', expiry='$session_expire', agent='$user_agent', ip='$client_ip' where session_id='$session_id'); } else { self::$session_id = $session_id = self::create_session_id(); self::$dbo->query(insert into .self::$table.(session_id, value, expiry, agent, ip) values('$session_id', '$session_data', '$session_expire', '$user_agent', '$client_ip')); } return true; } /** * session 更新 私有 * */ private static function update() { if (!self::$is_update) { $session_id = self::$session_id; $session_expire = time + self::get_gc_maxtime(); self::$dbo->query(update .self::$table. set expiry='$session_expire' where session_id='$session_id'); } self::$is_update = true; } private static function close() { if (!self::$is_gc && mt_rand(1, self::$gc_rate_de)%self::$gc_rate_co == 0) { self::gc(); } self::$is_gc = true; } /** * 过期session 清除 随机触发 * */ private static function gc() { $session_expire = time - self::get_gc_maxtime(); self::$dbo->query(delete from .self::$table. where expiry<'$session_expire'); } private static function get_session_id() { if (isset($_cookie['wbsid']) && strlen($_cookie['wbsid'])==32) { $sid = $_cookie['wbsid']; setcookie('wbsid', $sid, time + self::get_gc_maxtime(), self::$path, self::$domain, self::$secure, self::$httponly); return $sid; } return null; } private static function create_session_id() { $sid = self::get_session_id(); if (!$sid) { $sid = fun::getip() . time . microtime(true) . mt_rand(mt_rand(0, 100), mt_rand(100000, 90000000)); $sid = md5(self::$pre_key . $sid); setcookie('wbsid', substr($sid, 0, 32), time + self::get_gc_maxtime(), self::$path, self::$domain, self::$secure, self::$httponly); } return $sid; } public static function get_gc_maxtime() { return self::$gc_max_time; }}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录