zl程序教程

您现在的位置是:首页 >  后端

当前栏目

thinkphp5或3.2 php动态修改config配置文件永久保存

PHP配置文件 修改 动态 保存 config 3.2 永久
2023-09-11 14:19:38 时间

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;
    }
}

 

 

 

 

 

转:http://www.thinkphp.cn/code/4054.html