使用file_get_contents序列化/反序列化问题

时间:2011-03-14 14:54:30

标签: php

我有一堆多维数组被序列化并保存在一个txt文件中,每行一个。 现在,我正在使用file_get_contents读取文件,但是当我使用文件内容反序列化变量时,它只回显文件的第一行。

在调试中,文件的内容完全被readed,只有当我反序列化我只得到第一个数组的变量时。我认为我在行尾添加的\n\r存在一些问题,因为如果我删除第一行,它会正确读取下一行,但只是第一行!

对于前面提到的\n\r,我首先在\n\r附加file_put_contents($this->logFile,"\r\n",FILE_APPEND)之后,在文件中编写序列化的数组。这是对的吗?

我该怎么办?

由于

1 个答案:

答案 0 :(得分:5)

我认为你错过了unserialize的观点。根据文件:

  

unserialize()接受一个序列化变量并将其转换回PHP值。

(注意使用

你确实有几个选择:

  • 使用file并到达每一行并单独反序列化。
  • 对文件使用var_export,然后将该保存文件视为典型的包含。