php读取php配置文件

  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';

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

你可能感兴趣的:(php读取php配置文件)