<?
//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
版权申诉
96 浏览量
2023-07-26
23:14:08
上传
评论
收藏 3KB ZIP 举报
助力毕业
- 粉丝: 2173
- 资源: 5122
最新资源
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
- 基于MIC+NE555光敏电阻的声光控电路Multisim仿真原理图
- 基于JSP毕业设计-基于WEB操作系统课程教学网站的设计与实现(源代码+论文).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈