Php Codeigniter 3显示所有在线用户

Php Codeigniter 3显示所有在线用户,php,codeigniter-3,Php,Codeigniter 3,我使用的是数据库级会话存储方法 $config['sess_driver'] = 'database'; $config['sess_save_path'] = 'ci_sessions';//its your table name name 因此,当用户登录数据成功插入ci_会话时 __ci_last_regenerate|i:1435420891;identity|s:13:"john@doe.com ";username|s:13:"johndoe";email|s:13:"john@d

我使用的是数据库级会话存储方法

$config['sess_driver'] = 'database';
$config['sess_save_path'] = 'ci_sessions';//its your table name name
因此,当用户登录数据成功插入ci_会话时

__ci_last_regenerate|i:1435420891;identity|s:13:"john@doe.com ";username|s:13:"johndoe";email|s:13:"john@doe.com ";user_id|s:1:"5";old_last_login|s:10:"1435412865";

与此类似,此表可能包含多条记录。我想显示所有在线用户。此数据列具有blob类型。如何获取所有用户名

我使用以下代码获取信息

$session_data   = '__ci_last_regenerate|i:1435420891;identity|s:13:"john@doe.com ";username|s:13:"johndoe";email|s:13:"john@doe.com ";user_id|s:1:"5";old_last_login|s:10:"1435412865"'; //session data

$return_data    = array();  // array where you put your "BLOB" resolved data
$offset         = 0;
while ($offset < strlen($session_data)) {
    if (!strstr(substr($session_data, $offset), "|")) {
        throw new Exception("invalid data, remaining: " . substr($session_data, $offset));
    }
    $pos        = strpos($session_data, "|", $offset);
    $num        = $pos - $offset;
    $varname    = substr($session_data, $offset, $num);
    $offset     += $num + 1;
    $data       = unserialize(substr($session_data, $offset));
    $return_data[$varname] = $data;  
    $offset     += strlen(serialize($data));
}

echo $return_data['username'];
echo $return_data['email'];
$session\u data='\u ci\u last\u regenerate | i:1435420891;身份| s:13:“john@doe.com ";用户名| s:13:“约翰多”;电子邮件| s:13:“john@doe.com ";用户id | s:1:“5”;旧的上次登录| s:10:“1435412865”//会话数据
$return_data=array();//数组,用于放置“BLOB”解析数据
$offset=0;
而($offset

谢谢

我会用
websocket
来做。