2012-04-03 2 views
0

Возможно ли получить сеанс вне папки приложения codeigniter?Сессия Codeigniter Вне папки приложения

+0

Зачем вам это нужно? – Catfish

+0

Я хочу получить сессию внутри php-файла вне папки приложения. – bengeo

+0

Вы всегда можете попробовать и посмотреть, будет ли это работать. Я уверен, что этого не произойдет. Почему бы вам просто не преобразовать php-файл за пределы вашего проекта в часть вашего проекта CI? – Catfish

ответ

3

Возможно, но не без какой-либо работы. Вы можете увидеть детали чужой проблемы и их solution in the CodeIgniter forum.

В основном вам нужно взять печенье, что CodeIgniter использует для обработки его сессий и восстановить его:

$sess = unserialize($_COOKIE['ci_session']); 

Вы, возможно, потребуется также изменить настройки приложения, так что куки устанавливаются для всей области, а не только для папки, в которой находится CodeIgniter.

+0

Спасибо. Поэтому я хочу написать свои данные в файл cookie и получить его, используя unserialize cookie. Это постоянный файл cookie или нет? – bengeo

+0

В CodeIgniter есть параметр конфигурации, чтобы указать длину набора cookie yo, расположенного в нижней части этой страницы: http://codeigniter.com/user_guide/libraries/sessions.html Также есть класс помощника cookie http://codeigniter.com/user_guide/helpers/cookie_helper.html не уверен, когда это было введено, поскольку я никогда раньше не сталкивался с этим, но может быть полезен для вас. – cchana

1

Его трюк, но он работает. Поместите этот маленький непослушный код непосредственно перед переадресацией на вход. И теперь вы можете использовать ci_session с родным сеансом php, получайте удовольствие!

<?php 
session_start(); 
echo $_SESSION['ci_session'] = $this->session->userdata['ci_session']; 
?>