我无法unserialize()
我serialize()
'的回溯并保存到文本文件中。我不能复制粘贴字符串,它只在NULL之前复制数据,所以我无法在PHP中反序列化它。
以下是Notepad ++中的简短摘录
任何想法如何反序列化?
注意:我使用error_log($backtrace, 3, 'file.log');
保存文件,然后只需在Notepad ++中打开即可复制粘贴,但我无法复制过去的NULL字符。
答案 0 :(得分:2)
因此,serialize函数使用语法null * null标识成员变量,如此处所示。
空字符在字符串中编码为\0
,通常不会显示在输出中。要反序列化,你需要转换那些" null"文字回到\0
。
当我编写一个序列化数组时,我通过一个将\0
转换为[NULL]
的函数运行它。
$string = str_replace("\0","[NULL]",$string);
然后,当您准备反序列化时,您可以执行相反的操作
$string = str_replace("[NULL]","\0",$string);