php中序列化与反序列化详解
php  /  管理员 发布于 7年前   181
把复杂的数据类型压缩到一个字符串中 serialize() 把变量和它们的值编码成文本形式 unserialize() 恢复原先变量 eg: 结果:a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";} Array ( [0] => Moe [1] => Larry [2] => Curly ) 当把这些序列化的数据放在URL中在页面之间会传递时,需要对这些数据调用urlencode(),以确保在其中的URL元字符进行处理: margic_quotes_gpc和magic_quotes_runtime配置项的设置会影响传递到unserialize()中的数据。 如果magic_quotes_gpc项是启用的,那么在URL、POST变量以及cookies中传递的数据在反序列化之前必须用stripslashes()进行处理: 如果magic_quotes_runtime是启用的,那么在向文件中写入序列化的数据之前必须用addslashes()进行处理,而在读取它们之前则必须用stripslashes()进行处理: 在启用了magic_quotes_runtime的情况下,从数据库中读取序列化的数据也必须经过stripslashes()的处理,保存到数据库中的序列化数据必须要经过addslashes()的处理,以便能够适当地存储。 当对一个对象进行反序列化操作时,PHP会自动地调用其__wakeUp()方法。这样就使得对象能够重新建立起序列化时未能保留的各种状态。例如:数据库连接等。 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!$stooges = array('Moe','Larry','Curly');$new = serialize($stooges);print_r($new);echo "
";print_r(unserialize($new));$shopping = array('Poppy seed bagel' => 2,'Plain Bagel' =>1,'Lox' =>4);echo 'next';
$new_cart = unserialize(stripslashes($cart)); //如果magic_quotes_gpc开启$new_cart = unserialize($cart);
$fp = fopen('/tmp/cart','w');fputs($fp,addslashes(serialize($a)));fclose($fp);//如果magic_quotes_runtime开启$new_cat = unserialize(stripslashes(file_get_contents('/tmp/cart')));//如果magic_quotes_runtime关闭$new_cat = unserialize(file_get_contents('/tmp/cart'));
mysql_query("insert into cart(id,data) values(1,'".addslashes(serialize($cart))."')");$rs = mysql_query('select data from cart where id=1');$ob = mysql_fetch_object($rs);//如果magic_quotes_runtime开启$new_cart = unserialize(stripslashes($ob->data));//如果magic_quotes_runtime关闭$new_cart = unserialize($ob->data);
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号