|
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
[Back to original message]
|