文件助手:将数组写入文件?

时间:2012-07-17 08:49:10

标签: php codeigniter

似乎我不能用文件助手写一个数组。

write_file('./save/' . $fileName . '.php', $array, 'w+')
  

严重性:警告

     

消息:fwrite()期望参数2为字符串,给定数组

     

文件名:helpers / file_helper.php

     

行号:96

到底有没有?

2 个答案:

答案 0 :(得分:3)

不同的方法。正如错误消息告诉您的那样,您需要一个字符串来存储数据。您可以使用serialize()来存储值。如果要再次将其用作数组,可以使用unserialize()

write_file('./save/' . $fileName . '.php', serialize($array), 'w+')

修改

根据@flux,它显然在CI中表现不佳,因此代码需要划分:

$serialized = serialize($array);
write_file('./save/' . $fileName . '.php', $serialized, 'w+')

答案 1 :(得分:2)

而不是内爆,你可以做这样的事情

write_file('./save/' . $fileName . '.php', print_r($array,true), 'w+');

其中print_r带有第二个参数 - > true将以字符串形式返回打印的数组并将其保存在文件中。 但是,使用此函数,与serialize不同,您将无法再次重用该数组。