dateformats|a:1:{s:7:"phpdate";s:0:"";}
上面这句是session文件里面的内容。
格式为:变量名|类型:长度:值;
请问各位,怎么将第一行转成变量。
unserialize 无用,还有什么其它的办法没?
上面这句是session文件里面的内容。
格式为:变量名|类型:长度:值;
请问各位,怎么将第一行转成变量。
unserialize 无用,还有什么其它的办法没?
解决方案 »
- dedecms5.5圈子二级分类多显示不全该如何修改?
- 哪位大虾用过Jpgraph?帮帮小虾
- XML使用domxml_open_mem()错误
- GoogChart在PHP中图表制作怎么样设置,请高手回复。。。。。
- 有没有PHP 5.3.5 版本的 ZendDebugger.dll ?配置ZendDebugger不成功!
- 字段存的是时间戳怎么取当天的所有记录 SQL怎么写
- php一键安装
- paypal返回状态不成功?
- 微信预支付 报错 1001
- 求解Fatal error: Failed opening required 错误!
- 求类似于csdn编辑器
- 错误提示:syntax error, unexpected '(', expecting T_VARIABLE or '$
$old = $_SESSION; //保存原有的 session 变量
$_SESSION = array(); //初始化
session_decode($s); //解码
list($new, $_SESSION) = array($_SESSION, $old); //取回
print_r($new);
当然,你也可以自己写个解码函数。很简单的
{
if( strlen( $data) == 0)
{
return array();
}
// match all the session keys and offsets
preg_match_all('/(^|;|\})([a-zA-Z0-9_]+)\|/i', $data, $matchesarray, PREG_OFFSET_CAPTURE);
$returnArray = array();
$lastOffset = null;
$currentKey = '';
foreach ( $matchesarray[2] as $value )
{
$offset = $value[1];
if(!is_null( $lastOffset))
{
$valueText = substr($data, $lastOffset, $offset - $lastOffset );
$returnArray[$currentKey] = unserialize($valueText);
}
$currentKey = $value[0]; $lastOffset = $offset + strlen( $currentKey )+1;
}
$valueText = substr($data, $lastOffset );
$returnArray[$currentKey] = unserialize($valueText);
return $returnArray;
}