access codeigniter session values from external files

前端 未结 7 2300
深忆病人
深忆病人 2020-12-06 07:28

In my codeigniter project i have added KCK finder.

it needs some of session values which is controlled by codeigniter. how can i access CI session values from extern

7条回答
  •  佛祖请我去吃肉
    2020-12-06 08:11

    If you are looking to access the sessions (and they are file based) from outside of codeigniter and you do not want to load CI, you can do this:

    define('ENVIRONMENT', 'development');
    
    $ds = DIRECTORY_SEPARATOR;
    define('BASEPATH', dirname(dirname(dirname(__FILE__))));
    define('APPPATH', BASEPATH . $ds . 'application' . $ds);
    define('LIBBATH', BASEPATH . "{$ds}system{$ds}libraries{$ds}Session{$ds}");
    
    require_once LIBBATH . 'Session_driver.php';
    require_once LIBBATH . "drivers{$ds}Session_files_driver.php";
    require_once BASEPATH . "{$ds}system{$ds}core{$ds}Common.php";
    
    $config = get_config();
    
    if (empty($config['sess_save_path'])) {
        $config['sess_save_path'] = rtrim(ini_get('session.save_path'), '/\\');
    }
    
    $config = array(
        'cookie_lifetime'   => $config['sess_expiration'],
        'cookie_name'       => $config['sess_cookie_name'],
        'cookie_path'       => $config['cookie_path'],
        'cookie_domain'     => $config['cookie_domain'],
        'cookie_secure'     => $config['cookie_secure'],
        'expiration'        => $config['sess_expiration'],
        'match_ip'          => $config['sess_match_ip'],
        'save_path'         => $config['sess_save_path'],
        '_sid_regexp'       => '[0-9a-v]{32}',
    );
    
    
    $class = new CI_Session_files_driver($config);
    
    if (is_php('5.4')) {
        session_set_save_handler($class, TRUE);
    } else {
        session_set_save_handler(
            array($class, 'open'),
            array($class, 'close'),
            array($class, 'read'),
            array($class, 'write'),
            array($class, 'destroy'),
            array($class, 'gc')
        );
        register_shutdown_function('session_write_close');
    }
    session_name($config['cookie_name']);
    session_start();
    var_dump($_SESSION);
    

提交回复
热议问题