php解析ini,conf文件

/**
 * 解析conf文件,类似ini文件
 * @param   string  $strFileName    文件名
 * @param   boolean $boolParseVal   解析值为数组,多
 * @author  mengdj
 * @date    2017.06.07
 */
function parse_conf($strFileName,$boolParseVal=false){
    $arrRet=array();
    if(file_exists($strFileName)){
        //装入文件数组
        $arrLoad=file($strFileName);
        foreach($arrLoad as $k=>$v){
            $arrLoad[$k]=trim($v);
        }
        //解析多余空格
        $arrLoad=preg_replace('/[[:space:]]+/','',$arrLoad);
        //解析#号注释
        $arrLoad=preg_replace('/#.*/','',$arrLoad);
        foreach($arrLoad as $val) {
            if(strpos($val,'#')===false&&strpos($val,'=')!==false){
                $_array=explode('=',$val);
                if($_array[0]&&$_array[1]){
                    $arrRet[$_array[0]]=$boolParseVal?array_filter(explode(",",$_array[1])):$_array[1];
                }
            }
        }
    }
    return $arrRet;
}

 

a=1,2,3,4,
b=2

 

posted @ 2017-06-07 17:46  小孟文摘  阅读(534)  评论(0编辑  收藏  举报