If you are looking for a way how to use CodeIgniter from an external scripts to access Session’s data, or some other functions, it could results a little tricky.
It depends a lot on your current CodeIgniter’s configuration and expecially if you enabled the output buffering compression.
First steps is to create a variations of the CodeIgniter’s main index.php file to be included by every one of your external scripts.
Starts making a copy of index.php as external.php and edit this new file.
At the top of the file add:
ob_start();
Then in the middle of the file edit the two variables $application_folder and $system_path and make sure you’re using an absolute path instead of a relative one.
Finally at the end of the file add:
ob_end_clean();
header_remove('Content-Encoding');
$CI =& get_instance();
$CI->load->library('session');
I’ve also added more code to make sure that only people that are logged in my codeigniter website can access the pages where i’m including the external.php file; if they are not then the code redirects them to the codeigntier login page:
$username =$CI->session->userdata('user_login_id');
if (strlen($username)==0) {
$url = $_SERVER['REQUEST_URI'];
if ($url=='') $url = current_url();
redirect('/codeigniter_login/?redir='.urlencode($url), 'location', 302);
exit;
}
Then in your external PHP script just include the external.php file and use the $CI global object to access the whole codeigniter:
include '../../external.php';
$this->load->database();
$this->load->model('user_model', 'MyUsers' );