php中的实现session监听

session_set_save_handler

$SESSION_LIFE = get_cfg_var("session.gc_maxlifetime");
//$SESSION_LIFE = 1440;

function sess_open ($save_path, $session_name)
{
    global $sess_save_path, $sess_session_name;

    $sess_save_path = $save_path;
    $sess_session_name = $session_name;
    return(true);
}

function sess_close()
{
    return(true);
}

function sess_read ($key)
{
    global $sess_save_path, $sess_session_name, $SESSION_LIFE, $sqlca;

    $query = "SELECT session_value FROM ts_sessions WHERE session_key = '$key' AND session_expiry > " . time();
    //echo "query='$query'<br>";
    $sqlca->query($query);

    if ($sqlca->next_record())
    {
        return $sqlca->f(0);
    }
    else
    {
        return("");
    }
}

function sess_write ($key, $val)
{
    global $sess_save_path, $sess_session_name, $SESSION_LIFE, $sqlca;


    $expiry = time() + $SESSION_LIFE;
    //$value = addslashes($val);
    $value = $val;

    $sqlca->query("SELECT session_key,session_expiry FROM ts_sessions WHERE session_key='$key'");
    if($sqlca->next_record())
    {
        $query = "UPDATE ts_sessions SET session_value = '$value', session_expiry = $expiry WHERE session_key = '$key' AND session_expiry > " . time();
    }
    else
    {
        $query = "INSERT ts_sessions VALUES('$key', '$value', $expiry)";
    }

    //echo "query='$query'<br>";
    $sqlca->query($query);

    return $sqlca->Query_ID;
}

function sess_update_time ($key)
{
    global $SESSION_LIFE, $sqlca;

    $expiry = time() + $SESSION_LIFE;

    $query = "UPDATE ts_sessions SET session_expiry = $expiry WHERE session_key = '$key'";
    return $sqlca->query($query);
}

function sess_destroy ($key)
{
    global $sqlca;

    $query = "DELETE FROM ts_sessions WHERE session_key = '$key'";
    $sqlca->query($query);

    return $sqlca->Query_ID;
}

function sess_gc ($maxlifetime)
{
    global $sqlca;

    $query = "DELETE FROM ts_sessions WHERE session_expiry < " . time();
    $sqlca->query($query);

    return $sqlca->Query_ID;
}

session_set_save_handler ("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");
session_start();

 

from http://www.qiuhao.com/PHP10000%5C10276.htm

现在记下,以备日后用到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值