| 
	
 | 
 Posted by Bogdan Stancescu on 05/14/05 14:06 
Ok, I went with the solution you recommended, by the way of a "thank  
you" to the list, here's the resulting function: 
 
/** 
* This function returns the IDs of the current PHP sessions. 
* At this time, it only works with 
* {@link http://www.php.net/manual/en/ref.session.php#AEN129461} 
* PHP session.save_handler='files' 
* 
* @author Bogdan Stancescu 
* @license http://opensource.org/licenses/lgpl-license.php GNU Lesser  
General Public License 
* 
* @return mixed false on error or the indexed array of the session IDs; 
*   please note that the session IDs are 16-bit values represented as 
*   32-character long hexadecimal strings; letters are in lower caps. 
*/ 
function getCurrentSessionIDs() 
{ 
   if (ini_get('session.save_handler')!='files') { 
     // sorry, we only know how to handle files at this time! 
     return(false); 
   } 
   $sessions=array(); 
   $session_path=session_save_path(); 
   $d = dir($session_path); 
   while (false !== ($entry = $d->read())) { 
     if ( 
       ($entry=='.') || 
       ($entry=='..') || 
       (!is_file("$session_path/$entry")) 
     ) { 
       continue; 
     } 
     if (preg_match("/^sess_([0-9a-f]{32})$/",$entry,$matches)) { 
       $sessions[]=$matches[1]; 
     } 
   } 
   return($sessions); 
} 
 
Cheers, 
Bogdan
 
  
Navigation:
[Reply to this message] 
 |