虎泰克博客

ThinkPHP修改配置文件参数值


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

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

虎imcow泰au克vv新u闻_网ki版权所有,请勿未授权转载!!!

思路就是读取将传过来的值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组成的数组



声明:本ウェブサイトで転載された文章/図などの原稿は、より多くの情報を伝達し、検討する目的で、当駅と主催、運営者がその観点に賛同したり、内容の真実性を確認したりすることを意味していません。文章の内容はあくまで参考にしてください。もし原作者の権利を侵害したら、ウェブサイトの管理者に連絡してください。

ログインしてコメントを発表します。

コメントリスト

    データがありません