session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 30
<?php
function
session_open(
$session_path
,
$session_name
)
{
mysql_connect('localhost', 'root', 'root');
mysql_select_db('demo');
mysql_query(
"SET NAMES utf8"
);
}
function
session_close()
{
return
true;
}
function
session_read(
$SID
)
{
$query
=
"SELECT value FROM session where SID= '$SID' AND expiration >"
. time();
$result
= mysql_query(
$query
);
if
(mysql_num_rows(
$result
))
{
$row
= mysql_fetch_assoc(
$result
);
$value
=
$row
['value'];
return
$value
;
}
else
{
return
false;
}
}
function
session_write(
$SID
,
$value
)
{
$lifetime
= get_cfg_var(
"session.gc_maxlifetime"
);
$expiration
= time() +
$lifetime
;
$query
=
"INSERT INTO session VALUES('$SID', '$expiration', '$value')"
;
$result
= mysql_query(
$query
);
if
(!
$result
)
{
$query
=
"UPDATE session SET expiration = '$expiration', value = '$value' WHERE SID = '$SID' AND expiration >"
. time();
$result
= mysql_query(
$query
);
}
}
function
sessionDestroy(
$SID
)
{
$query
=
"DELETE FROM session WHERE SID = '$SID'"
;
$result
= mysql_query(
$query
);
}
function
session_gc()
{
$query
=
"DELETE FROM session WHERE expiration <"
. time();
$result
= mysql_query(
$query
);
echo
mysql_affected_rows();
}
session_set_save_handler(
"session_open"
,
"session_close"
,
"session_read"
,
"session_write"
,
"sessionDestroy"
,
"session_gc"
);
session_start();
?>