如何传递会话到ckfinder在codeigniter 3? [英] How do I pass session to ckfinder in 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屋!