php读取与修改自定义配置文件的代码

发布时间:2020-10-12编辑:脚本学堂
php读取与修改自定义配置文件的代码,比如对config.php文件的读取,修改等操作,供大家学习参考。config.php文件:
复制代码 代码如下:<?php
/**
desc:配置文件

php读取与修改自定义配置文件的代码,比如对config.php文件的读取,修改等操作,供大家学习参考。

config.php文件:
 

复制代码 代码如下:
<?php
/**
  desc:配置文件
  link:www.jb200.com
  date:2013/2/24
*/
$name="admin";//kkkk
$bb='234';
$db=4561321;
$kkk="admin";
?>

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

复制代码 代码如下:

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

//配置文件数据值获取。
//默认没有第三个参数时,按照字符串读取提取''中或""中的内容
//如果有第三个参数时为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");
?>

以下是改进后的版本
 

复制代码 代码如下:

<?php
//完善改进版
/**
* link:www.jb200.com
* date:2013/2/24
* 配置文件操作(查询了与修改)
* 默认没有第三个参数时,按照字符串读取提取''中或""中的内容
* 如果有第三个参数时为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);
}
?>

您可能感兴趣的文章:
php DES加密解密的代码一例
php使用3des加密的代码(兼容.net)