php读取php配置文件

jopen 5年前
  1. 配置文件my.php内容如下:

     

  2. <?php  $config->installed       = true;  $config->debug           = false;  $config->requestType     = 'GET';  $config->db->host   = '16.112.89.126:3306';  $config->db->name        = 'test';  $config->db->user        = 'root';  $config->db->password    = 'pwd';  $config->db->prefix      = 'zt_';  $config->webRoot         = getWebRoot();  $config->default->lang   = 'zh-cn';  $config->mysqldump       = 'D:\beanGou\mysql\bin\mysqldump.exe';

 

3.读取该配置文件的代码:

function get_config($file, $ini, $type="string"){    if(!file_exists($file)) {     echo 'file not exist';     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);     $config = preg_match("/".preg_quote($ini)."\s*=\s*\"(.*)\";/", $str, $res);     if($res[1]==null){      $config = preg_match("/".preg_quote($ini)."\s*=\s*\'(.*)\';/", $str, $res);  //     $config = preg_match("/".preg_quote($ini)."=\'(.*)\';/", $str, $res);     }     return $res[1];    }   }

两行注释对应的代码是网上的,因为有空格读不到,我自己做了点修改,修改后,有空格同样能读到。

注意:如果配置文件my.php有注释,如果有类似这样的

//$config->db->host   = '16.112.89.126:3306';

,该方法会读到注释内容,所以,如果没用的话,最好删掉、