|
- <?php
- /*
- 本程序为读写任意ini格式文件,与 php.ini 没有任何关系。
- */
- //将 parse_ini_file 返回的二维数组重组成ini文本
- function array_pack_ini($ini_array){
- $return = "";
- foreach($ini_array as $node => $node_data){
- $return.="[".$node."]\r\n";
- foreach($node_data as $key => $value){
- $return.=$key."="."$value"."\r\n";
- }
- }
- return $return;
- }
- //读配置项 参数1:文件名 参数2:节名称 参数3:配置项名称 参数4:默认文本(可以留空)
- function GetKeyText($file,$node,$key,$value=""){
- return parse_ini_file($file,1)[$node][$key] ?? $value;
- }
- //写配置项 参数1:文件名 参数2:节名称 参数3:配置项名称 参数4:欲写入值
- function SetKeyText($file,$node,$key,$value){
- $ini_array = parse_ini_file($file,1);
- $ini_array[$node][$key] = $value;
- return file_put_contents($file,array_pack_ini($ini_array));
- }
- //取配置节名 参数1:文件名
- function GetSectionNames($file){
- $return = array();
- foreach(parse_ini_file($file,1) as $node => $node_data){
- array_push($return,$node);
- }
- return $return;
- }
- echo GetKeyText("ini.ini","abc","bbc","Err");
- SetKeyText("ini.ini","zzz","yyy","abc");
- SetKeyText("ini.ini","zzz","fff","def");
- SetKeyText("ini.ini","abc","bbc","@@@");
- print_r(GetSectionNames("ini.ini"));
- ?>
复制代码
|
|