tp5 动态永久修改 config.php 配置文件

流氓凡 技术分享 2020-05-08 6.64 K 0

官方提供了 config 的动态修改配置方法,但不是永久性的,下面提供一个方法直接正则匹配修改文件内容

/**
 * 动态永久修改 config 文件内容
 * @param $key
 * @param $value
 * @return bool|int
 */
function setConfig($key, $value)
{
    $fileUrl = APP_PATH . "config.php";
    $config = file_get_contents($fileUrl); //加载配置文件
    $config = preg_replace("/'{$key}'.*?=>.*?'.*?'/", "'{$key}' => '{$value}'", $config);
    return file_put_contents($fileUrl, $config); // 写入配置文件
}

动态文件内容大概如下,全部使用的是单引号,这个需要注意下,如果你用的是双引号那就自己改下正则

image.png

还需要注意的是,值是true 和 false 不支持修改

修改后可直接使用 config 组手函数全局获取配置项内容

Tips:返回值是修改的文件字节数,如果失败请检查防跨站设置

评论