<?
//connect mysql
$z_conn = mysql_connect($z_dbhost,$z_dbuser,$z_dbpass);
if(!$z_conn) die();
//select database
$z_select_db = mysql_select_db($z_dbname,$z_conn);
if(!$z_select_db) die();
//set charset
if(version_compare(mysql_get_client_info(),'5.0.7','>=') && version_compare(PHP_VERSION,'5.2.3','>=')){
mysql_set_charset($z_charset);
}else{
mysql_query("SET NAMES {$z_charset}");
}
//open
function z_s_open($z_s_path,$z_s_name){
return true;
}
//close
function z_s_close(){
return true;
}
//read
function z_s_read($zr_s_id){
global $z_dtable;
$zr_sql="select s_value from {$z_dtable} where s_id like '{$zr_s_id}' and s_expired > ".time();
$zr_query=mysql_query($zr_sql);
if(list($zr_value)=mysql_fetch_row($zr_query)){
return $zr_value;
}else{
return false;
}
}
//write
function z_s_write($zw_s_id,$zw_s_value){
global $z_lifetime,$z_dtable;
$zw_expired = time()+$z_lifetime;
$zw_value = $zw_s_value;
mysql_query("delete from {$z_dtable} where s_id like '{$zw_s_id}' and s_expired < ".time());
mysql_query("select id from {$z_dtable} where s_id like '{$zw_s_id}'");
if(mysql_affected_rows() > 0){
$zw_query = mysql_query("update {$z_dtable} set s_expired = '{$zw_expired}',s_value='{$zw_value}' where s_id like '{$zw_s_id}' and s_expired > ".time());
}else{
$zw_query = mysql_query("insert into {$z_dtable} (s_id,s_expired,s_value) values ('{$zw_s_id}','{$zw_expired}','{$zw_value}')");
}
return $zw_query;
}
//destroy
function z_s_destroy($zd_s_id){
global $z_dtable;
$zd_query = mysql_query("delete from {$z_dtable} where s_id like '{$zd_s_id}' limit 1");
return $zd_query;
}
//gc
function z_s_gc($z_s_maxlifetime){
return true;
}
//delete expired sessions
function z_del_sessions(){
global $z_dtable;
mysql_query("delete from {$z_dtable} where s_expired < ".time());
mysql_query("optimize table {$z_dtable}");
}
//z_gc
function gc_mt_rand($gc_t=20){
$r = mt_rand(0,99);
if($r < $gc_t) return true;
return false;
}
//gc delete expired sessions
if(gc_mt_rand($z_probability)){z_del_sessions();}
//set handler,session start
if(ini_get("session.auto_start")==0){
ini_set("session.save_handler",'user');
session_module_name('user');
session_set_save_handler('z_s_open','z_s_close','z_s_read','z_s_write','z_s_destroy','z_s_gc');
session_start();
}
?>
基于PHP的红鸟Sessions类v1.0源码.zip
版权申诉
45 浏览量
2023-10-14
21:43:18
上传
评论
收藏 3KB ZIP 举报
易小侠
- 粉丝: 6453
- 资源: 9万+
最新资源
- ZEND解密dezender12
- sony 索尼IMX334摄像头模组电路板AD版硬件PCB图(6层板).zip
- 基于flask和echarts融合交易策略的bitfinex可视化微服务.zip
- 包含了wvp-assist.tar wvp-talk.tar zlmediakit.tar .
- 3r4efgh53wgrf43tw
- 2024新版Java基础从入门到精通全套视频+资料下载
- Spring AI大模型视频教程+ChatGPT视频教程+OpenAI大模型视频教程(资料+视频教程)
- ABB工业机器人教程PDF版本
- 123321123323211
- 三相桥式全桥整流电路MATALB Simulink仿真文件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈