对于简单的配置信息写入ini配置文件中比数据库操作会更灵活,下面的方法可以实现ini配置项的读取、更新,如果该项目不存在则自动新增这个项目。
<?php
/*
$xfy = readIniItem("./tables.ini", "xiaofeiyu");
echo $xfy;
writeIniItem("./tables.ini", "xiaofeiyu", 567);
echo $xfy;
*/
function readIniItem($file, $ini, $type="int"){
if(!file_exists($file)) return false;
$str = file_get_contents($file);
if ($type=="int"){
$config = preg_match("/".preg_quote($ini)."=(.*);/", $str, $res);
return $res[1];
}
else{
$config = preg_match("/".preg_quote($ini)."=\"(.*)\";/", $str, $res);
if($res[1]==null){
$config = preg_match("/".preg_quote($ini)."='(.*)';/", $str, $res);
}
return $res[1];
}
}
function writeIniItem($file, $ini, $value,$type="int"){
if(!file_exists($file)) return false;
$str = file_get_contents($file);
$str2="";
if($type=="int"){
$str2 = preg_replace("/".preg_quote($ini)."=(.*);/", $ini."=".$value.";",$str);
}
else{
$str2 = preg_replace("/".preg_quote($ini)."=(.*);/",$ini."=\"".$value."\";",$str);
}
if(readIniItem($file, $ini)==null){
$str2 .= PHP_EOL .$ini . "=" . $value . ";";
}
file_put_contents($file, $str2);
}