Home > Backend Development > PHP Tutorial > php 怎么获取所有的 sessionid ?或获取所有的session

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

WBOY
Release: 2016-06-13 12:56:28
Original
1140 people have browsed it

php 如何获取所有的 sessionid ?或获取所有的session
 

就是想通过一个.php文件读取所有的 sessionid ?或获取所有的session ??

session php
------解决方案--------------------
怎么没人回呢??
------解决方案--------------------
print_r($_SESSION);
------解决方案--------------------
所有的用户需要session数据库甚至一个session管理系统
google一下,有前人努力的成果
------解决方案--------------------
session的高级用法,把session写到memcache或数据库里,就可以实现了
------解决方案--------------------
	class Session {<br>
		private static $handler=null;<br>
		private static $ip=null;<br>
		private static $lifetime=null;<br>
		private static $time=null;<br>
//初始化变量;<br>
		private static function init($handler){<br>
			self::$handler=$handler;<br>
			//$_SERVER["REMOTE_ADDR"]获取客户端路由地址;<br>
			self::$ip = !empty($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : 'unknown';<br>
			//ini_get()获取配置文件变量;<br>
			self::$lifetime=ini_get('session.gc_maxlifetime');<br>
			self::$time=time();<br>
		}<br>
<br>
		static function start(PDO $pdo){<br>
			self::init($pdo);<br>
			//_CLASS_  代表本类;<br>
			session_set_save_handler(<br>
					array(__CLASS__,"open"),<br>
					array(__CLASS__,"close"),<br>
					array(__CLASS__,"read"),<br>
					array(__CLASS__,"write"),<br>
					array(__CLASS__,"destroy"),<br>
					array(__CLASS__,"gc")<br>
				);<br>
<br>
			session_start();<br>
		}<br>
<br>
		public static function open($path, $name){<br>
			return true;<br>
		}<br>
<br>
		public static function close(){<br>
			return true;<br>
		}<br>
		<br>
		public static function read($PHPSESSID){<br>
			$sql="select PHPSESSID, update_time, client_ip, data from session where PHPSESSID= ?";<br>
<br>
			$stmt=self::$handler->prepare($sql);<br>
<br>
			$stmt->execute(array($PHPSESSID));<br>
			<br>
			if(!$result=$stmt->fetch(PDO::FETCH_ASSOC)){<br>
				return '';<br>
			}<br>
<br>
			if( self::$ip  != $result["client_ip"]){<br>
				self::destroy($PHPSESSID);<br>
				return '';<br>
			}<br>
<br>
			if(($result["update_time"] + self::$lifetime) 
				self::destroy($PHPSESSID);<br>
				return '';<br>
			}<br>
<br>
			return $result['data'];<br>
<br>
		}<br>
<br>
		public static function write($PHPSESSID, $data){<br>
			$sql="select PHPSESSID, update_time, client_ip, data from session where PHPSESSID= ?";<br>
<br>
			$stmt=self::$handler->prepare($sql);<br>
<br>
			$stmt->execute(array($PHPSESSID));<br>
<br>
			if($result=$stmt->fetch(PDO::FETCH_ASSOC)){<br>
				if($result['data'] != $data <br><font color="#FF8000">------解决方案--------------------</font><br> self::$time > ($result['update_time']+30)){<br>
					$sql="update session set update_time = ?, data =? where PHPSESSID = ?";<br>
					<br>
					$stm=self::$handler->prepare($sql);<br>
					$stm->execute(array(self::$time, $data, $PHPSESSID));<br>
				<br>
				}<br>
			}else{<br>
				if(!empty($data)){<br>
					$sql="insert into session(PHPSESSID, update_time, client_ip, data) values(?,?,?,?)"; <div class="clear">
                 
              
              
        
            </div>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template