<?php
function
mysession_open(
$save_path
,
$sesssion_name
){
global
$sesssion_save_path
;
$sesssion_save_path
=
"你要存储的session地址"
;
return
true;
}
function
mysession_close(){
return
true;
}
function
mysession_read(
$key
) {
global
$sesssion_save_path
;
global
$online
;
$online
= 0;
$dir
= opendir(
$sesssion_save_path
);
while
(
$file
= readdir(
$dir
)) {
if
(
$file
==
".."
||
$file
==
"."
) {
continue
;
}
if
(
file_exists
(
$sesssion_save_path
.
$key
){
$mytime
=
fileatime
(
$sesssion_save_path
.
$key
);
if
(
fileatime
(
$sesssion_save_path
.
$file
) <
$mytime
){
$online
++;
}
}
else
{
$online
++;
}
}
if
(!
file_exists
(
$sesssion_save_path
.
$key
)){
$online
++;
}
return
true;
}
function
mysession_write(
$key
,
$data
){
global
$sesssion_save_path
;
$fileame
=
$sesssion_save_path
.
$key
;
if
(!
file_exists
(
$fileame
)) {
$fp
=
fopen
(
$fileame
,
"w"
);
fputs
(
$fp
,
""
);
fclose(
$fp
);
}
}
function
mysession_destory(
$key
) {
global
$sesssion_save_path
;
$fileame
=
$sesssion_save_path
.
$key
;
if
(
file_exists
(
$fileame
)){
unlink(
$fileame
);
}
return
true;
}
function
mysession_gc(
$expiry_time
) {
global
$sesssion_save_path
;
$dir
= opendir(
$sesssion_save_path
);
while
(
$file
= readdir(
$dir
)) {
# code...
if
(
$file
==
".."
||
$file
==
"."
){
continue
;
}
if
(
fileatime
(
$sesssion_save_path
.
$file
) <= time() -
$expiry_time
){
unlink(
$sesssion_save_path
.
$file
);
}
}
return
true;
}
session_set_save_handler('mysession_open', 'mysession_close', 'mysession_read', 'mysession_write', 'mysession_destory', 'mysession_gc');
session_start();
global
$online
;
echo
$online
;
if
(
$online
<= 10){
session_destroy();
}
?>