php读取php配置文件
jopen
10年前
配置文件my.php内容如下:
<?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';
,该方法会读到注释内容,所以,如果没用的话,最好删掉、