虎泰克博客

ThinkPHP修改配置文件参数值


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

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

虎w_泰zgzqu克k新_ef闻_网r_r_i版权所有,请勿未授权转载!!!

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



Erklärung: Alle auf dieser Website wiedergegebenen Artikel /Zeichnungen dienen dem Zweck, mehr Informationen zu übermitteln und die Diskussion zu erleichtern, was nicht bedeutet, dass die Website, der Host und der Veranstalter mit ihren Meinungen einverstanden sind oder die Authentizität ihrer Inhalte bestätigen. Der Inhalt der Artikel dient nur als Referenz. Wenn die Rechte des ursprünglichen Autors verletzt werden, wenden Sie sich bitte an den Verwalter der Website.

Melden Sie sich an

Liste der Kommentare

    Keine Daten