您好,欢迎访问一九零五行业门户网

php 怎么获取所有的 sessionid ?或获取所有的session

php 如何获取所有的 sessionid ?或获取所有的session
就是想通过一个.php文件读取所有的 sessionid ?或获取所有的session ??
session php
------解决方案--------------------
怎么没人回呢??
------解决方案--------------------
print_r($_session);
------解决方案--------------------
所有的用户需要session数据库甚至一个session管理系统
google一下,有前人努力的成果
------解决方案--------------------
session的高级用法,把session写到memcache或数据库里,就可以实现了
------解决方案--------------------
class session {
private static $handler=null;
private static $ip=null;
private static $lifetime=null;
private static $time=null;
//初始化变量;
private static function init($handler){
self::$handler=$handler;
//$_server[remote_addr]获取客户端路由地址;
self::$ip = !empty($_server[remote_addr]) ? $_server[remote_addr] : 'unknown';
//ini_get()获取配置文件变量;
self::$lifetime=ini_get('session.gc_maxlifetime');
self::$time=time();
}
static function start(pdo $pdo){
self::init($pdo);
//_class_  代表本类;
session_set_save_handler(
array(__class__,open),
array(__class__,close),
array(__class__,read),
array(__class__,write),
array(__class__,destroy),
array(__class__,gc)
);
session_start();
}
public static function open($path, $name){
return true;
}
public static function close(){
return true;
}
public static function read($phpsessid){
$sql=select phpsessid, update_time, client_ip, data from session where phpsessid= ?;
$stmt=self::$handler->prepare($sql);
$stmt->execute(array($phpsessid));
if(!$result=$stmt->fetch(pdo::fetch_assoc)){
return '';
}
if( self::$ip  != $result[client_ip]){
self::destroy($phpsessid);
return '';
}
if(($result[update_time] + self::$lifetime)  self::destroy($phpsessid);
return '';
}
return $result['data'];
}
public static function write($phpsessid, $data){
$sql=select phpsessid, update_time, client_ip, data from session where phpsessid= ?;
$stmt=self::$handler->prepare($sql);
$stmt->execute(array($phpsessid));
if($result=$stmt->fetch(pdo::fetch_assoc)){
if($result['data'] != $data 
------解决方案--------------------
 self::$time > ($result['update_time']+30)){
$sql=update session set update_time = ?, data =? where phpsessid = ?;
$stm=self::$handler->prepare($sql);
$stm->execute(array(self::$time, $data, $phpsessid));
}
}else{
if(!empty($data)){
$sql=insert into session(phpsessid, update_time, client_ip, data) values(?,?,?,?);

其它类似信息

推荐信息