我有一个大的2d数组,我序列化和base64_encode并扔进一个数据库.在另一个页面上,我将数组拉出来,当我输出base64_decode
序列化数组时,我可以将其反射出去,它看起来确实有效.
但是,如果我尝试unserialize(base64_decode($serializedArray))
它只是抛出相同的错误到几乎崩溃Firefox的点.
错误是:
警告:
unserialize()
[function.unserialize]:第24行的/var/www/dev/wc_paul/inc/analyzerTester.php中不再存在节点
我会包含我回应的整个序列化数组,但是上次我在这个表单上尝试过它崩溃了我的Firefox.
有谁知道为什么会发生这种情况?
你确定你只是序列化一个数组,而不是一个对象(例如DOMNode?)就像资源一样,并非所有的类都会对被反序列化感到高兴.作为DOM的一个例子(你的错误告诉我你正在使用它),每个节点都有一个对parentNode的引用,如果在节点被反序列化时,parentNode不存在,它就不能重新创建该参考和问题随之而来.
我建议将dom树作为XML保存到数据库中,然后再加载回来.