欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-23 09:58:47
...
  1. /**
  2. desc:配置文件
  3. link:bbs.it-home.org
  4. date:2013/2/24
  5. */
  6. $name="admin";//kkkk
  7. $bb='234';
  8. $db=4561321;
  9. $kkk="admin";
  10. ?>
复制代码

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

  1. getconfig("./2.php", "bb");//

  2. updateconfig("./2.php", "kkk", "admin");
  3. //配置文件数据值获取。

  4. //默认没有第三个参数时,按照字符串读取提取''中或""中的内容
  5. //如果有第三个参数时为int时按照数字int处理。
  6. function getconfig($file, $ini, $type="string")
  7. {
  8. if ($type=="int")
  9. {
  10. $str = file_get_contents($file);
  11. $config = preg_match("/" . $ini . "=(.*);/", $str, $res);
  12. Return $res[1];
  13. }
  14. else
  15. {
  16. $str = file_get_contents($file);
  17. $config = preg_match("/" . $ini . "=\"(.*)\";/", $str, $res);
  18. if($res[1]==null)
  19. {
  20. $config = preg_match("/" . $ini . "='(.*)';/", $str, $res);
  21. }
  22. Return $res[1];
  23. }
  24. }
  25. //配置文件数据项更新

  26. //默认没有第四个参数时,按照字符串读取提取''中或""中的内容
  27. //如果有第四个参数时为int时按照数字int处理。
  28. function updateconfig($file, $ini, $value,$type="string")
  29. {
  30. $str = file_get_contents($file);
  31. $str2="";
  32. if($type=="int")
  33. {
  34. $str2 = preg_replace("/" . $ini . "=(.*);/", $ini . "=" . $value . ";", $str);
  35. }
  36. else
  37. {
  38. $str2 = preg_replace("/" . $ini . "=(.*);/", $ini . "=\"" . $value . "\";",$str);
  39. }
  40. file_put_contents($file, $str2);
  41. }
  42. //echo getconfig("./2.php", "bb", "string");

  43. getconfig("./2.php", "bb");//
  44. updateconfig("./2.php", "kkk", "admin");
  45. //echo "
    ".getconfig("./2.php", "name","string");
  46. ?>
复制代码

以下是改进后的版本

  1. //完善改进版

  2. /**
  3. * link:bbs.it-home.org
  4. * date:2013/2/24
  5. * 配置文件操作(查询了与修改)
  6. * 默认没有第三个参数时,按照字符串读取提取''中或""中的内容
  7. * 如果有第三个参数时为int时按照数字int处理。
  8. *调用demo
  9. $name="admin";//kkkk
  10. $bb='234';
  11. $bb=getconfig("./2.php", "bb", "string");

  12. updateconfig("./2.php", "name", "admin");
  13. */
  14. function get_config($file, $ini, $type="string"){
  15. if(!file_exists($file)) return false;
  16. $str = file_get_contents($file);
  17. if ($type=="int"){
  18. $config = preg_match("/".preg_quote($ini)."=(.*);/", $str, $res);
  19. return $res[1];
  20. }
  21. else{
  22. $config = preg_match("/".preg_quote($ini)."=\"(.*)\";/", $str, $res);
  23. if($res[1]==null){
  24. $config = preg_match("/".preg_quote($ini)."='(.*)';/", $str, $res);
  25. }
  26. return $res[1];
  27. }
  28. }
  29. function update_config($file, $ini, $value,$type="string"){

  30. if(!file_exists($file)) return false;
  31. $str = file_get_contents($file);
  32. $str2="";
  33. if($type=="int"){
  34. $str2 = preg_replace("/".preg_quote($ini)."=(.*);/", $ini."=".$value.";",$str);
  35. }
  36. else{
  37. $str2 = preg_replace("/".preg_quote($ini)."=(.*);/",$ini."=\"".$value."\";",$str);
  38. }
  39. file_put_contents($file, $str2);
  40. }
  41. ?>
复制代码
您可能感兴趣的文章: php DES加密解密的代码一例 php使用3des加密的代码(兼容.net)