thinkphp 3.2里面用F方法储存的数据都被序列化了..假设你用F方法把数据储存到配置文件,储存后的数据都是序列化之后的,这样你就不能像3.1那样用C方法读取配置文件的数据了。我的解决方法就是自己定义一个储存数据的方法。
在/Application/Common/Common创建function.php,然后添加以下代码:
01 | <?php |
02 | /** |
03 | * [writeArr 写入配置文件方法] |
04 | * @param [type] $arr [要写入的数据] |
05 | * @param [type] $filename [文件路径] |
06 | * @return [type] [description] |
07 | */ |
08 | function writeArr( $arr , $filename ) { |
09 | return file_put_contents ( $filename , "<?php\r\nreturn " . var_export( $arr , true) . ";" ); |
10 | } |
然后可以用这个writeArr方法来写入配置
调用方法:
1 | // 写入配置文件 |
2 | public function setConfig(){ |
3 | $file = CONF_PATH. '/setConfig.php' ; |
4 | if (writeArr( $_POST , $file )){ |
5 | $this ->success( '修改成功' ); |
6 | } else { |
7 | $this ->error( '修改失败' ); |
8 | } |
9 | } |