读取ini文件用parse_ini_file()函数
目前尚未发现写ini文件的函数,所以只好自己写一个了
<?php
define("LF","/r/n");
function write_ini_file($array,$filename) {
$ok = "";
$s = "";
foreach($array as $k=>$v) {
if(is_array($v)) {
if($k != $ok) {
$s .= LF."[$k]".LF;
$ok = $k;
}
$s .= write_ini_file($v,"");
}else {
if(trim($v) != $v || strstr($v,"["))
$v = "/"$v/"";
$s .= "$k = $v".LF;
}
}
if($filename == "")
return $s;
else {
$fp = fopen($filename,"w");
fwrite($fp,$s);
fclose($fp);
}
}
?>
由于parse_ini_file有两种读出方式,所以写通用的set_ini_value存在一定的困难
对于
[system]
DNS = www.sohu.com
Count = 20
[user]
name = sss
age = 30
1.parse_ini_file("test.ini",true)得到
<?php
$ar1 = parse_ini_file("test.ini",true);
print_r($ar1);
?>
Array
(
[system] => Array
(
[DNS] => www.sohu.com
[Count] => 20
)
[user] => Array
(
[name] => sss
[age] => 30
)
)
2.parse_ini_file("test.ini")得到
<?php
$ar2 = parse_ini_file("test.ini");
print_r($ar2);
?>
Array
(
[DNS] => www.sohu.com
[Count] => 20
[name] => sss
[age] => 30
)
所以回写后的结果也不一样
<?php
write_ini_file($ar1,"test1.ini");
write_ini_file($ar2,"test2.ini");
?>
test1.ini
[system]
DNS = www.sohu.com
Count = 20
[user]
name = sss
age = 30
test2.ini
DNS = www.sohu.com
Count = 20
name = sss
age = 30
PHP ini操作
最新推荐文章于 2021-04-10 13:22:43 发布