如何传递会话到ckfinder在codeigniter 3? [英] How do I pass session to ckfinder in codeigniter 3?

查看:445
本文介绍了如何传递会话到ckfinder在codeigniter 3?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



在CKfinder / config.php文件中的代码:

/ p>

 <?php 
session_start

function CheckAuthentication(){
if(isset($ _ SESSION ['User'] ['CK_check'])){
return true;
} else {
return false;
}
...
?>

在用户登录时创建了$ _SESSION ['User'] ['CK_check' >

需要一些帮助。



非常感谢。

解决方案

http:/ /php.net/manual/en/session.configuration.php#ini.session.save-handler
如果选择默认文件处理程序。
会话保存路径



文件:ckfinder / config.php。

 

//从codeigniter获取session_id曲奇饼。
$ session_id = $ _COOKIE ['ci_session'];

//通过session_id获取会话数据,替换为您的会话保存路径

$ content = file_get_contents(dirname(__ FILE__)。'/../../application / common / ci_session / ci_session'。$ session_id);

//开始新的或恢复现有的会话
session_start();

//从会话编码的字符串解码会话数据
session_decode($ content);

如果你选择redis处理程序,你可以这样做:

 
$ session_id = $ _COOKIE ['ci_session'];
// $ content = file_get_contents(dirname(__ FILE__)。'/../../application/common/ci_session/ci_session'。$ session_id);

$ redis = new Redis();
$ redis-> connect('127.0.0.1',6379);
$ content = $ redis-> get('ci_session:'。$ session_id);
$ redis-> close();
// session_id($ session_id);
session_start();
session_decode($ content);


I change the config.php code as document says, but I can't pass session into this file.

The code in CKfinder/config.php:

<?php
    session_start();

    function CheckAuthentication(){
        if(isset($_SESSION['User']['CK_check'])){
            return true;
        }else{
            return false;
    }
    ...
?>

I created $_SESSION['User']['CK_check'] when user login.

needs some help.

Thanks a lot!

解决方案

http://php.net/manual/en/session.configuration.php#ini.session.save-handler If you choose the default files handler. session save path

File: ckfinder/config.php.


    // get the session_id from codeigniter cookie.   
    $session_id = $_COOKIE['ci_session'];

    // get the session data by session_id,replace to your session save path

    $content = file_get_contents(dirname(__FILE__) . '/../../application/common/ci_session/ci_session' . $session_id);

    // Start new or resume existing session
    session_start();

    // Decodes session data from a session encoded string
    session_decode($content);

If you choose the redis handler, you can do like below:

    $session_id = $_COOKIE['ci_session'];
    // $content = file_get_contents(dirname(__FILE__) . '/../../application/common/ci_session/ci_session' . $session_id);

    $redis = new Redis();
    $redis->connect('127.0.0.1', 6379);
    $content = $redis->get('ci_session:' . $session_id);
    $redis->close();
    // session_id($session_id);
    session_start();
    session_decode($content);

这篇关于如何传递会话到ckfinder在codeigniter 3?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆