虎泰克博客

ThinkPHP修改配置文件参数值


由于想写一个后台管理,可以对系统数据库配置等conf.php内的内容进行修改,由于TP自带的C方法仅

由于想写一个后台管理,可以对系统数据库配置等conf.php内的内容进行修改,由于TP自带的C方法仅仅是动态修改,并没有把修改后的配置存储下来,因此萌生了此想法。

虎xww泰wcdwm克o新rhbut闻qjggd网ecsr版权所有,请勿未授权转载!!!

思路就是读取将传过来的值foreach生成conf.php文件内数据格式写入edit.php,然后在conf.php内'LOAD_EXT_CONFIG' => 'config'即可,下面为代码。

function updateConfig($name=null, $value=null) {
    $path = APP_PATH.'/'.MODULE_NAME .'/Conf/edit.php';
    $config = include $path;
    $edit = is_array($name) ? $name : array("$name" => "$value");//自动识别批量修改还是单个
    $res = array_merge($config, $edit);
    $str = "<?php \r\n\treturn array(\r\n";
    foreach ($res as $key => $value){
        $str .= "\t\t".'\''.$key.'\''."\t=>\t".'\''.$value.'\''.','."\r\n";
    };
    $str .= "\t);\r\n?>";
    return file_put_contents($path, $str) ? true : false;
}

其中name参数可传入数组和字符串,传入字符串则会读取value参数的值生成一个key-value组成的数组



Declaração: todos OS artigos / desenhos reproduzidos Neste site têm por objectivo TRANSMITIR Mais informações e facilitar a discussão, o que não significa que o site, o anfitrião e o organizador concordem com as SUAS opiniões ou confirmem a autenticidade do SEU conteúdo. O conteúdo DOS artigos é apenas para referência. Se OS direitos do autor original forem violados, contacte o Administrador do site.

Assine para comentar.

Lista de comentários

    Sem dados