php中配置文件操作 如config.php文件的读取修改等操作

时间:2021-12-13 17:15:33

代码如下:


<?php 
$name="admin";//kkkk 
$bb='234'; 
$db=4561321; 
$kkk="admin"; 
?> 


函数定义: 
配置文件数据值获取:function getconfig($file, $ini, $type="string") 
配置文件数据项更新:function updateconfig($file, $ini, $value,$type="string") 
调用方式: 

复制代码代码如下:


getconfig("./2.php", "bb");// 
updateconfig("./2.php", "kkk", "admin"); 

 

复制代码代码如下:


<?php 

//配置文件数据值获取。 
//默认没有第三个参数时,按照字符串读取提取''中或""中的内容 
//如果有第三个参数时为int时按照数字int处理。 
function getconfig($file, $ini, $type="string") 

if ($type=="int") 

$str = file_get_contents($file); 
$config = preg_match("/" . $ini . "=(.*);/", $str, $res); 
Return $res[1]; 

else 

$str = file_get_contents($file); 
$config = preg_match("/" . $ini . "=\"(.*)\";/", $str, $res); 
if($res[1]==null) 

$config = preg_match("/" . $ini . "='(.*)';/", $str, $res); 

Return $res[1]; 



//配置文件数据项更新 
//默认没有第四个参数时,按照字符串读取提取''中或""中的内容 
//如果有第四个参数时为int时按照数字int处理。 
function updateconfig($file, $ini, $value,$type="string") 

$str = file_get_contents($file); 
$str2=""; 
if($type=="int") 

$str2 = preg_replace("/" . $ini . "=(.*);/", $ini . "=" . $value . ";", $str); 

else 

$str2 = preg_replace("/" . $ini . "=(.*);/", $ini . "=\"" . $value . "\";",$str); 

file_put_contents($file, $str2); 



//echo getconfig("./2.php", "bb", "string"); 
getconfig("./2.php", "bb");// 
updateconfig("./2.php", "kkk", "admin"); 
//echo "<br/>".getconfig("./2.php", "name","string"); 

?> 

 

复制代码代码如下:


//完善改进版 


/** 
* 配置文件操作(查询了与修改) 
* 默认没有第三个参数时,按照字符串读取提取''中或""中的内容 
* 如果有第三个参数时为int时按照数字int处理。 
*调用demo 
$name="admin";//kkkk 
$bb='234'; 

$bb=getconfig("./2.php", "bb", "string"); 
updateconfig("./2.php", "name", "admin"); 
*/ 
function get_config($file, $ini, $type="string"){ 
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 update_config($file, $ini, $value,$type="string"){ 
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); 

file_put_contents($file, $str2);