亚洲女优在线观看,日本国产欧美经典在线一区,欧美激情精品九九久久久久久久久,在线观看免费小说AV,800av在线免费观看小说,99热在线精品免费全部my

北京網(wǎng)站制作公司,豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn),為企業(yè)提供精品網(wǎng)站制作服務(wù)!
服務(wù)熱線:

織夢(mèng)DedeCMS使用MySQL存儲(chǔ)session值

織夢(mèng)DedeCMS使用MySQL存儲(chǔ)session值

<?php
/**
 * -----------------------------------
 * session
 * -----------------------------------
 * Author: 安徽寶訊信息技術(shù)有限公司
 * Creater: Hoogl
 * Date: 2020/11/3
 * Version: 1.0.0
 * -----------------------------------
 */

function sess_open($save_path, $session_name)
{
    return true;
}

function sess_close()
{
    return true;
}

function sess_read($key)
{
    global $dsql;
    if (empty($dsql)) {
        require_once(DEDEDATA.'/common.inc.php');
        if ( $GLOBALS['cfg_dbtype'] =='mysql' )
        {
            if ($GLOBALS['cfg_mysql_type'] == 'mysqli' && function_exists("mysqli_init") || !function_exists('mysql_connect'))
            {
                require_once(DEDEINC.'/dedesqli.class.php');
                $dsql = new DedeSqli(FALSE);
            } else {
                require_once(DEDEINC.'/dedesql.class.php');
                $dsql = new DedeSql(FALSE);
            }
        } else {
            require_once(DEDEINC.'/dedesqlite.class.php');
            $dsql = new DedeSqlite(FALSE);
        }
    }
    $res = $dsql->GetOne("Select value,expiry_time From `#@__session` where `key`='{$key}'");
    if ($res && $res['expiry_time'] >= time()) {
        return strval($res['value']);
    }
    return '';
}

function sess_write($key, $val)
{
    if (empty($val)) {
        return true;
    }

    global $dsql;

    if (empty($dsql)) {
        require_once(DEDEDATA.'/common.inc.php');
        if ( $GLOBALS['cfg_dbtype'] =='mysql' )
        {
            if ($GLOBALS['cfg_mysql_type'] == 'mysqli' && function_exists("mysqli_init") || !function_exists('mysql_connect'))
            {
                require_once(DEDEINC.'/dedesqli.class.php');
                $dsql = new DedeSqli(FALSE);
            } else {
                require_once(DEDEINC.'/dedesql.class.php');
                $dsql = new DedeSql(FALSE);
            }
        } else {
            require_once(DEDEINC.'/dedesqlite.class.php');
            $dsql = new DedeSqlite(FALSE);
        }
    }

    $max_life_time = intval(get_cfg_var("session.gc_maxlifetime"));
    $max_life_time = $max_life_time ?: 1800;
    $expiry_time   = time() + $max_life_time; //過期時(shí)間
    $value         = addslashes($val);
    $data          = unSerializeStr($val);
    $member_id     = empty($data['member_id']) ? 0 : intval($data['member_id']);
    $res           = $dsql->GetOne("Select `value` From `#@__session` where `key`='{$key}'");
    if (empty($res)) {
        $dbRes = $dsql->ExecuteNoneQuery("INSERT INTO `#@__session` (`key`,`value`,`member_id`,`expiry_time`)
               VALUES ('$key','$value',{$member_id},{$expiry_time}); ");
    } else {
        $dbRes = $dsql->ExecuteNoneQuery("update `#@__session` set value='" . $value . "',member_id=".$member_id.",expiry_time=" . $expiry_time . " where `key`='" . $key . "';");
    }

    return $dbRes;
}

function sess_destroy($key)
{
    global $dsql;
    if (empty($dsql)) {
        require_once(DEDEDATA.'/common.inc.php');
        if ( $GLOBALS['cfg_dbtype'] =='mysql' )
        {
            if ($GLOBALS['cfg_mysql_type'] == 'mysqli' && function_exists("mysqli_init") || !function_exists('mysql_connect'))
            {
                require_once(DEDEINC.'/dedesqli.class.php');
                $dsql = new DedeSqli(FALSE);
            } else {
                require_once(DEDEINC.'/dedesql.class.php');
                $dsql = new DedeSql(FALSE);
            }
        } else {
            require_once(DEDEINC.'/dedesqlite.class.php');
            $dsql = new DedeSqlite(FALSE);
        }
    }

    $dsql->ExecuteNoneQuery("delete from `#@__session` where `key`='" . $key . "';");

    return true;
}

function sess_gc($maxlifetime)
{
    global $dsql;
    if (empty($dsql)) {
        require_once(DEDEDATA.'/common.inc.php');
        if ( $GLOBALS['cfg_dbtype'] =='mysql' )
        {
            if ($GLOBALS['cfg_mysql_type'] == 'mysqli' && function_exists("mysqli_init") || !function_exists('mysql_connect'))
            {
                require_once(DEDEINC.'/dedesqli.class.php');
                $dsql = new DedeSqli(FALSE);
            } else {
                require_once(DEDEINC.'/dedesql.class.php');
                $dsql = new DedeSql(FALSE);
            }
        } else {
            require_once(DEDEINC.'/dedesqlite.class.php');
            $dsql = new DedeSqlite(FALSE);
        }
    }

    $dsql->ExecuteNoneQuery("delete from `#@__session` where `expiry_time` < " . time() . ";");

    return true;
}

/**
 * 解析session數(shù)據(jù)
 *
 * @param $sessionData
 * @return array
 */
function unSerializeStr($sessionData)
{
    $return_data = [];
    $offset      = 0;
    while ($offset < strlen($sessionData)) {
        $pos = strpos($sessionData, "|", $offset);
        if (!strstr(substr($sessionData, $offset), "|")) {
            return [];
        }
        $num                   = $pos - $offset;
        $varName               = substr($sessionData, $offset, $num);
        $offset                += $num + 1;
        $data                  = unserialize(substr($sessionData, $offset));
        $return_data[$varName] = $data;
        $offset                += strlen(serialize($data));
    }
    return $return_data;
}

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

if (!session_id()) {
    session_start();
}
其它相關(guān)文章:
專業(yè)網(wǎng)站制作公司 — 安徽寶訊信息技術(shù)有限公司 ? 版權(quán)所有

在線
客服

在線客服服務(wù)時(shí)間:9:00-20:00

選擇下列客服馬上在線溝通:

客服
熱線

133 9152 9507
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

官方微信
頂部
宝清县| 灵寿县| 清镇市| 梁山县| 巴彦淖尔市| 醴陵市| 尚志市| 长葛市| 合作市| 兴化市| 高清| 武夷山市| 阿图什市| 二手房| 五原县| 乐安县| 肥城市| 铁力市| 广平县| 芒康县| 溆浦县| 武山县| 兰西县| 通化市| 沈丘县| 兴业县| 滨海县| 马山县| 中江县| 磐石市| 安溪县| 连云港市| 洛浦县| 盐城市| 台江县| 灵璧县| 平凉市| 黑山县| 于田县| 神木县| 旌德县|