2015-09-05 33 views
1

我改變config.php代碼爲文件說,但我不能傳遞會話到這個文件。如何將會話傳遞給codeigniter 3中的ckfinder?

在CKfinder/config.php中的代碼:

<?php 
    session_start(); 

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

我創建$ _SESSION [ '用戶'] [ 'CK_check']當用戶登錄。

需要一些幫助。

非常感謝!

回答

0

http://php.net/manual/en/session.configuration.php#ini.session.save-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); 

如果選擇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); 
+2

雖然這個代碼片斷可以解決的問題,[包括解釋(http://meta.stackexchange.com/questions/114762/explain-completely-code-based-answers)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。請儘量不要使用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! –

+0

謝謝你的回答,但這對我不起作用。 – svcputl3y7

+0

而我沒有'/../../ application/common/ci_session/ci_session'這個路徑。 – svcputl3y7