thinkphp默认的参数方法只能读取,或者动态修改不能永久修改。 这是自己摸索出来的特发出来给需要的朋友(懂的朋友别笑话,功能我自己使用是没任何问题)。
有些参数还是保存在配置文件方便快捷!不一定所有的东西都是存数据库才是王道!
参数可以传递多个值 只要2个数组的值对应就行 [0][1][2] 以此对应
如果需要动态修改数据的 将config 改为数据库就行了 我是只要改config 所以是直接固定了!
/**
* 修改config的函数
* @param $arr1 配置前缀
* @param $arr2 数据变量
* @return bool 返回状态
*/
function setconfig($pat, $rep)
{
/**
* 原理就是 打开config配置文件 然后使用正则查找替换 然后在保存文件.
* 传递的参数为2个数组 前面的为配置 后面的为数值. 正则的匹配为单引号 如果你的是分号 请自行修改为分号
* $pat[0] = 参数前缀; 例: default_return_type
$rep[0] = 要替换的内容; 例: json
*/
if (is_array($pat) and is_array($rep)) {
for ($i = 0; $i < count($pat); $i++) {
$pats[$i] = '/\'' . $pat[$i] . '\'(.*?),/';
$reps[$i] = "'". $pat[$i]. "'". "=>" . "'".$rep[$i] ."',";
}
$fileurl = APP_PATH . "config.php";
$string = file_get_contents($fileurl); //加载配置文件
$string = preg_replace($pats, $reps, $string); // 正则查找然后替换
file_put_contents($fileurl, $string); // 写入配置文件
return true;
} else {
return flase;
}
}