草庐IT

Fastjson反序列化

全部标签

PHP反序列化没有匹配类的对象

我有包含序列化对象的数据库行。我想反序列化这些,但类已更改,一些属性变为私有(private),因此反序列化不再有效。有没有办法强制反序列化为数组或标准类?(或反序列化时不会导致错误的任何东西)我想避免使用脚本迁移数据。我宁愿向后兼容以旧格式序列化的对象。 最佳答案 不是真的,或者至少我会很害怕在生产中使用这样的东西。但是,unserialize将使用自动加载系统或unserialize_callback_funcini设置中指定的函数名称。因此,通过一些黑客攻击,您可以完成这项工作://thisaserializedobjectw

php - 使用 Instaparse 使用 BNF 解析序列化的 PHP 数据

我有一个由PHP序列化的值,我需要在Clojure中对其进行解码。我正在使用这个library反序列化它;它使用Instaparse它利用EBNF/ABNF符号来定义语法。作为引用,这里是完整的定义:=expr=(string|integer|double|boolean|null|array)+=#'[0-9]'=negative*(decimal-num|integer-num)='-'=digit+=integer-num'.'integer-num='0'|'1'size=digit+key=(string|integer)=exprarray=(keyval)+?boolea

PHP反序列化数据为空,这是为什么?

我的序列化数据是这样的a:6:{i:0;s:12:"Earlyhumans";i:1;s:32:"ApesAndHominidsDart'sFind";i:2;s:36:"ThehuntergatherersofSouthAfrica";i:3;s:25:"EarlyHumansTheEveGene";i:4;s:50:"Australopithecines,HomoergasterandHomosapiens";i:5;s:21:"Landscapesofhistory";}当我尝试反序列化时,结果是空的。我的代码:$urlnames=unserialize($row['url_na

php - 不允许 Laravel 作业序列化 'Closure'

我想将数据发送到NewsletterStore作业。但它因以下错误而失败。有什么建议吗?我还尝试删除SerializesModels模型特征。没有任何成功。错误ExceptionSerializationof'Closure'isnotallowedControllerpublicfunctionstore(StoreNewsletterRequest$request){StoreNewsletterJob::dispatch($request);returnview('backend.dashboard.index');}工作protected$request;publicfunct

反序列化后的PHP数组无法通过键获取值

数组无法从反序列化中通过键获取值。它显示错误undefinedoffset,但数组具有索引调用“1134”。如何获取索引1134值?$original=unserialize('O:8:"stdClass":1:{s:4:"1134";i:1;}');$result=(array)$original;print_r($result);//Array([1134]=>1)print_r($result["1134"]);//Undefinedoffset:1134print_r($result['1134']);//Undefinedoffset:1134print_r($result[

php - JavaScript/PHP cookie 序列化方法?

我有一个表单,我想将其值存储在cookie中,这样用户就不必在每次访问时都重新输入表单。(表格是一些选择来过滤搜索结果。)我希望cookie序列化可以很容易地从JavaScript读取(显然是设置onLoad形式),但我也希望能够从PHP轻松读取cookie(所以我可以使用表单数据来过滤搜索结果)。我将如何序列化一个表单,其中包含将multiple="multiple"设置到cookie中的选择,并使其在JavaScript和PHP中易于读取?请不要宣扬验证,我在服务器端正确地做了这件事。如果我的问题有更好的解决方案,请告诉我。顺便说一句:我在服务器和Prototype/Scripta

带有不可序列化部分的 PHP 序列化

我有一个存储数据库查询结果的PHP类,但也包含一个PDO对象,以便可以动态更新/重新插入/等结果。一个临时的ORM,如果你愿意的话。问题是,我需要序列化这个类,但无法序列化PDO的实例。我没意见;到对象被序列化时,我已经不需要PDO实例了。有没有一种方法可以将变量标记为从类中的序列化中排除,就像其他一些语言一样?我知道我可以在序列化类之前手动取消设置()PDO变量,但是对于代码的当前结构,这有点像噩梦。我在这里的可取之处是可以覆盖的__serialize()方法,但它似乎不存在任何类似的东西。 最佳答案 有__sleep()and_

php - 反序列化 - 在 64 字节的偏移量 0 处出错

出现这个错误:echo$addressStr;$address=unserialize($addressStr);echo返回2:{i:0;s:18:"address:1,NN156TU";i:1;s:18:"address:8,NN156TU";}错误返回Notice:unserialize()[function.unserialize]:Erroratoffset0of64bytesinC:\wamp\www\guild_service\server\map_view.phponline115 最佳答案 您的字符串确实缺少了一些

PHP - 序列化一个具有静态属性的类

当用户登录到我的网站时,我创建了一个User的实例类,获取一些与用户相关的数据并将对象存储在SESSION中.我从数据库中获取的一些数据在整个session期间应该保持不变,并且我希望可以从其他对象访问这些数据。我更喜欢使用User::$static_value_in_class至$_SESSION['static_value_in_session']当使用另一个对象中的值时,但我愿意接受说服。问题是,当我序列化我的User时,这些值没有被记住实例进入SESSION,然后加载不同的页面。类定义:classUser{public$name;publicstatic$allowed_act

PHP 序列化 - 存储图像

是否可以编写一个脚本,使用户能够上传文件(图片gif、jpg、png)并将其序列化并存储为文本?基本上用户没有任何存储空间,因此无法上传文件并存储为文件,但我劫持了一个可以存储用户特定字符串的配置文件字段。有什么帮助吗? 最佳答案 您可以使用base64_encode将二进制数据(如图像数据)编码和解码为文本和base64_decode. 关于PHP序列化-存储图像,我们在StackOverflow上找到一个类似的问题: https://stackoverfl