1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| if (isset($PHPSESSID))
{
$sessionFile = "/sess_".$PHPSESSID;
if (file_exists($sessionFile))
{
$fp = @fopen($sessionFile, "r");
flock($fp, LOCK_SH);
rewind($fp);
$sessionData = fread($fp, 1500000);
fclose($fp);
while (strlen($sessionData)>0)
{
// Les données de la variable
$position = strrpos($sessionData,'|');
$donneesVariable = substr($sessionData,$position+1);
$sessionData = substr($sessionData,0,$position);
// Le nom de la variable
if ( (strrpos($sessionData,';') === FALSE) && (strrpos($sessionData,'}') === FALSE)) $position = -1;
else $position = max(strrpos($sessionData,';'),strrpos($sessionData,'}'));
$nomVariable = substr($sessionData,$position+1);
if (strpos($nomVariable,"!") === FALSE)
$sessionArray[$nomVariable] = $donneesVariable;
if ($position < 0) break;
$sessionData = substr($sessionData,0,$position+1);
}
foreach($sessionArray as $key => $value)
{
$chaine = '$'.$key.' = unserialize(\''.str_replace("'","\'",$value).'\');';
eval($chaine);
}
}
}
else
{
session_start();
} |
Partager