php以数组做为配置文件的读取和写入 *** 作

php以数组做为配置文件的读取和写入 *** 作,第1张

概述最近想用php开发个简单的文章管理系统,主要是做一批垃圾采集站,目前网上的cms都太多功能了,导致修改个模板要很多文件,花费很多功夫。开始用thinkphp框架做,感觉还是麻烦,后来改用ci,做好了后台后又觉得不是很简洁于是忠于狠下心来打算用原生的php开发一个,只有这样才最简洁。其中遇到不
最近想用PHP开发个简单的文章管理系统,主要是做一批垃圾采集站,目前网上的CMS都太多功能了,导致修改个模板要很多文件,花费很多功夫。开始用thinkPHP框架做,感觉还是麻烦,后来改用ci,做好了后台后又觉得不是很简洁
于是忠于狠下心来打算用原生的PHP开发一个,只有这样才最简洁。
其中遇到不少的问题,现在把一些关键技术点记录下来,都是找来的资料

一、配置文件读取
这个比较简单config.PHP --------------------------<?PHPreturn array( 'a' => 1, 'b' => 2, 'c' => 3,);?>getconfig.PHP--------------------------<?PHP$config = require('config.PHP');print_r($config);?>大家试一下,会发现$config变量里存储了config.PHP中的数组, 这就是运用了PHP可以把文件当作return函数的一种用法。

来个稍微复杂点的
config.PHP --------------------------<?PHP
return array(           'master'=>array(                'master_host'=>'1',                'master_name'=>'1',                'master_password'=>'1',                'master_port'=>'1',                'slave1'=>array(                    'slave_host'=>'2',                    'slave_name'=>'2',                    'slave_password'=>'2',                    'slave_port'=>'2',                ),                  'slave2'=>array(                    'slave_host'=>'3',                    'slave_name'=>'3',                    'slave_password'=>'3',                    'slave_port'=>'3',                ),           ),           'master1'=>array(                'master_host'=>'5',                'master_name'=>'5',                'master_password'=>'5',                'master_port'=>'5',                'slave1'=>array(                    'slave_host'=>'6',                    'slave_name'=>'6',                    'slave_password'=>'6',                    'slave_port'=>'6',                ),                  'slave2'=>array(                    'slave_host'=>'7',                    'slave_name'=>'7',                    'slave_password'=>'7',                    'slave_port'=>'7',                ),           ),);
getconfig.PHP--------------------------<?PHP$config = require('config.PHP');
$config['db']['master']['host']= '';$config['db']['master']['name']= '';$config['db']['master']['password']= '';$config['db']['master']['port']= '';$config['db']['master']['slave1']['host']= '';$config['db']['master']['slave1']['name']= '';$config['db']['master']['slave1']['password']= '';$config['db']['master']['slave1']['port']= '';$config['db']['master']['slave2']['host']= '';$config['db']['master']['slave2']['name']= '';$config['db']['master']['slave2']['password']= '';$config['db']['master']['slave2']['port']= '';


二、PHP 更新配置文件

$config_file="路径";        if(file_exists($config_file)){            $configs=include $config_file;        }else {            $configs=array();        }        $configs=array_merge($configs,$data);        $result = file_put_contents($config_file, "<?PHP\treturn " . var_export($configs, true) . ";");

   var_export:输出或返回一个变量的字符串表示

     此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。

     可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

另外一种写法

$path='路径';//写入路径                $file=include $path;                $res = array_merge($file, array('key'=>$rolling));                $str = '<?PHP return array(';                foreach ($res as $key => $value){                    // '\'' 单引号转义                    //$str .= '\''.$key.'\''.'=>'.'\''.$value.'\''.',';                    if (is_array($value)){                        $str.= '\''.$key.'\''.'=>array(';                        foreach ($value as $k=>$v){                            $str.='\''.$k.'\''.'=>'.'\''.$v.'\''.',';                        }                        $str.='),';                    }else{                        $str.='\''.$key.'\''.'=>'.'\''.$value.'\''.',';                    }                };                $str .= '); ';                $upfile =file_put_contents($path, $str);//写入文件


总结

以上是内存溢出为你收集整理的php以数组做为配置文件的读取和写入 *** 作全部内容,希望文章能够帮你解决php以数组做为配置文件的读取和写入 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1167710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存