Php中session_set_save_handler的含义
2013-05-23 11:51
537 查看
1
<?php
2
$DB_SERVER = "server"; /* database server hostname */
3
$DB_NAME = "dbname"; /* database name */
4
$DB_USER = "root"; /* database user */
5
$DB_PASS = "*************"; /* database password */
6
7
$DB_SELECT_DB = "";
8
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");
9
10
function sess_open($save_path, $session_name) {
11
global $DB_SERVER, $DB_NAME, $DB_USER, $DB_PASS, $DB_SELECT_DB;
12
13
if (! $DB_SELECT_DB = mysql_pconnect($DB_SERVER, $DB_USER, $DB_PASS)) {
14
echo "SORRY! MYSQL ERROR : Can't connect to $DB_SERVER as $DB_USER";
15
echo "MySQL Error: ", mysql_error();
16
die;
17
}
18
19
if (! mysql_select_db($DB_NAME, $DB_SELECT_DB)) {
20
echo "SORRY! MYSQL ERROR : Unable to select database $DB_NAME";
21
die;
22
}
23
24
return true;
25
}
26
27
function sess_close() {
28
return true;
29
}
30
31
function sess_read($SessionKey){
32
global $DB_SELECT_DB, $SESS_LIFE;
33
$Query = "SELECT SessionArray FROM cdb_global_sessions WHERE SessionKey = '".$SessionKey."' AND SessionExpTime > " . time();
34
$Result = mysql_query($Query, $DB_SELECT_DB);
35
36
if (list($SessionArray) = mysql_fetch_row($Result)) {
37
return $SessionArray;
38
}
39
40
return false;
41
}
42
43
function sess_write($SessionKey, $VArray) {
44
global $DB_SELECT_DB, $SESS_LIFE;
45
46
$SessionExpTime = time() + $SESS_LIFE;
47
$SessionArray = addslashes($VArray);
48
49
$Query = "INSERT INTO cdb_global_sessions (SessionKey,SessionExpTime,SessionArray) VALUES ('".$SessionKey."','".$SessionExpTime."','".$SessionArray."')";
50
$Result = mysql_query($Query, $DB_SELECT_DB);
51
52
if (!$Result){
53
$Query = "UPDATE cdb_global_sessions SET SessionExpTime = '".$SessionExpTime."', SessionArray = '".$SessionArray."' WHERE SessionKey = '".$SessionKey."' AND SessionExpTime > " . time();
54
$Result = mysql_query($Query, $DB_SELECT_DB);
55
}
56
return $Result;
57
}
58
59
function sess_destroy($SessionKey) {
60
global $DB_SELECT_DB;
61
62
$Query = "DELETE FROM cdb_global_sessions WHERE SessionKey = '".$SessionKey."'";
63
$Result = mysql_query($Query, $DB_SELECT_DB);
64
65
return $Result;
66
}
67
68
function sess_gc($maxlifetime) {
69
global $DB_SELECT_DB;
70
71
$Query = "DELETE FROM cdb_global_sessions WHERE SessionExpTime < " . time();
72
$Result = mysql_query($Query, $DB_SELECT_DB);
73
74
return mysql_affected_rows($DB_SELECT_DB);
75
}
76
77
session_set_save_handler(
78
"sess_open",
79
"sess_close",
80
"sess_read",
81
"sess_write",
82
"sess_destroy",
83
"sess_gc");
84
session_start();
85
?>
86
相关文章推荐
- Php中session_set_save_handler的含义
- php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
- php session_set_save_handler _sess_read 无法赋值问题
- php session_set_save_handler 函数的用法(mysql)
- php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
- PHP使用session_set_save_handler陷阱
- 解析php session_set_save_handler 函数的用法(mysql)
- php session_set_save_handler 函数的用法(mysql)
- php session_set_save_handler 函数的用法(mysql)(转)
- 解析php session_set_save_handler 函数的用法(mysql)
- php session_set_save_handler 函数的用法(file)
- php session session_set_save_handler 接管所有的session管理工作
- 解析php session_set_save_handler 函数的用法(将session存在数据库中的方法)
- 转载: php session_set_save_handler 函数的用法(mysql)
- 【session内部机制】PHP的session_set_save_handler 执行机制
- php中使用session_set_save_handler(),session入库(mysql)机制
- PHP的session_set_save_handler 执行机制
- php session_set_save_handler 函数的用法(mysql)
- PHP的session_set_save_handler 执行机制
- centos5.2用memcache 来作PHP 的session.save_handler