Rumah >pembangunan bahagian belakang >tutorial php >php读取与修改自定义配置文件的代码

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

WBOY
WBOYasal
2016-07-25 09:04:421305semak imbas
  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)


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn