PHP对session对象的封装的很好,根据HTTP协议,每个范围网站的访客都可以生成一个唯一的标识符
1
2
|
echo
session_id();
//6ed364143f076d136f404ed93c034201<br />
|
这个就是统计在线人数的关键所在,只有有这个session_id 也就可以区分访问的人了。因为每一个人都不同。
接下来,是怎么把session变量里面的值存到数据库里面去,这里有将介绍另一个函数
1
2
3
4
5
6
7
8
|
bool session_set_save_handler ( callable
$open
, callable
$close
, callable
$read
, callable
$write
, callable
$destroy
, callable
$gc
)
//callable 可随时支取的,请求即付的,随时可偿还的
// open(string $savePath, string $sessionName) 打开连接
//close() 关闭连接
//read(string $sessionId) 对出数据
//write(string $sessionId, string $data) //写入数据
//destroy($sessionId) //删除数据
//gc($lifetime) //垃圾回收函数
|
注意,上面有几个函数是有参数传入的,你只要表明有传送传入就是的。PHP在执行代码的时候会自动读取
session中对于的参数
接下来就是完成上面五个函数和一个主函数就可以了
1
2
3
4
5
6
7
8
|
session_set_save_handler(
array
(
"session"
,
"open"
),
array
(
"session"
,
"close"
),
array
(
"session"
,
"read"
),
array
(
"session"
,
"write"
),
array
(
"session"
,
"destroy"
),
array
(
"session"
,
"gc"
)
);
|
主函数就这样完成了.
注意:凡是将对象的方法作为参数传递都需要使用这种形式:array(对象, "方法名")
接下来就是每个函数的编写
1
2
3
4
5
6
7
|
//链接数据的open
function
open(
$path
,
$sessname
) {
$db
= mysql_connect(
|