我有一个包含以下内容的文件:
a:12:{s:12:"a2.twimg.com";i:1308768611;s:12:"a1.twimg.com";i:1308768611;s:12:"a0.twimg.com";i:1308768612;s:12:"a3.twimg.com";i:1308768612;s:8:"this.com";i:1308768613;s:15:"f.prototype.com";i:1308768613;s:15:"c.prototype.com";i:1308768614;s:15:"a.prototype.com";i:1308768614;s:5:"w.com";i:1308768615;s:5:"s.com";i:1308768615;s:5:"f.com";i:1308768615;s:5:"h.com";i:1308768615;}
(这是twitter.com上列出的一系列域名作为键,时间戳作为值)
如果我打电话:
unserialize(fread($recentfile, filesize("./neptune_output/recent")))
("./neptune_output/recent"
是$recentfile
)
它失败了,但如果我用粘贴的字符串调用unserialize,它就可以了。
我使用以下代码打开文件。
$recentfile = fopen("./neptune_output/recent", 'a+')
我已尝试将fopen
模式设为'c+'
和'a+b'
但不起作用。
我是否需要发布更多代码?
答案 0 :(得分:3)
为什么不用file_get_contents()
阅读它而不是搞乱打开它并计算文件大小?
答案 1 :(得分:1)
a +表示:“打开以进行读写;将文件指针放在文件的末尾。如果文件不存在,请尝试创建它。”
如果您只想阅读“r”就足够了:
$recentfile = fopen("./neptune_output/recent", 'r')