yf_session_driver_files class

Fileplugins/session/classes/session/yf_session_driver_files.class.php
Use_class('session_driver_files', 'classes/session/')
Extendsyf_session_driver

Public properties

A site sets them in its config with $PROJECT_CONF['session_driver_files']['NAME'] = ...;

PropertyDefaultDescription
$CUR_SESSION_NAME 'PHPSESSID'
$FILES_PREFIX 'sess_'
$SESSION_FILES_DIR 'session_data/'

Public methods 7

close

public function close()
    public function close()
    {
        return true;
    }

destroy

public function destroy($ses_id)
    public function destroy($ses_id)
    {
        $ses_file = $this->SESSION_FILES_DIR . $this->FILES_PREFIX . $ses_id;
        return @unlink($ses_file);
    }

gc

public function gc($life_time)
    public function gc($life_time)
    {
        $start_dir = $this->SESSION_FILES_DIR;
        $dh = $start_dir ? opendir($start_dir) : false;
        if ( ! $dh) {
            return true;
        }
        while (false !== ($f = readdir($dh))) {
            if ($f == '.' || $f == '..') {
                continue;
            }
            if (@filemtime($f) < (time() - main()->SESSION_LIFE_TIME)) {
                @unlink($f);
            }
        }
        return true;
    }

open

public function open($path, $name)
    public function open($path, $name)
    {
        $this->CUR_SESSION_NAME = $name;
        return true;
    }

read

public function read($ses_id)
    public function read($ses_id)
    {
        $ses_file = $this->SESSION_FILES_DIR . $this->FILES_PREFIX . $ses_id;
        if (file_exists($ses_file)) {
            $ses_data = file_get_contents($ses_file);
            return $ses_data;
        }
        return ''; // Must return '' here.
    }

write

public function write($ses_id, $data)
    public function write($ses_id, $data)
    {
        $ses_file = $this->SESSION_FILES_DIR . $this->FILES_PREFIX . $ses_id;
        file_put_contents($ses_file, $data);
        return true;
    }

Methods starting with _ hooks and helpers; not routable as page actions

__construct

public function __construct()
    public function __construct()
    {
        $this->SESSION_FILES_DIR = INCLUDE_PATH . $this->SESSION_FILES_DIR;
    }