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

9ac0f18a54e1c44335171c3de9364023.png

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

session php

------解决方案--------------------

怎么没人回呢??

------解决方案--------------------

print_r($_SESSION);

------解决方案--------------------

所有的用户需要session数据库甚至一个session管理系统

google一下,有前人努力的成果

------解决方案--------------------

session的高级用法,把session写到memcache或数据库里,就可以实现了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::$time ){

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(?,?,?,?)";相关专题推荐:php session (包含图文、视频、案例)

本文转载于:phpzy,如有侵犯,请联系a@php.cn删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值