1

It seems I can't write an array with file helper.

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

Severity: Warning

Message: fwrite() expects parameter 2 to be string, array given

Filename: helpers/file_helper.php

Line Number: 96

Is there anyway around this?

4

2 回答 2

4

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

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

编辑:

由于它在 CI 中显然不能很好地工作,根据@flux,代码需要划分:

$serialized = serialize($array);
write_file('./save/' . $fileName . '.php', $serialized, 'w+')
于 2012-07-17T08:52:23.040 回答
2

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

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

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

于 2012-07-17T11:22:49.287 回答