[PHP]简单的快速修改常量的方法

流氓凡 PHP程序源码 2020-01-01 5.48 K 0

一些时候我们需要修改常量的定义,比如说数据库信息?网站配置信息 ?

此时我们使用正则替换的方式进行常量的修改是最为简单方便的,比如说:

    /*
    @param 常量文件
    @param 修改数组(常量名=>常量值)
    @return 失败返回false  成功修改常量文件
    */
    function constEdit($file, $arr)
    {
        $info = file_get_contents($file);
        foreach ($arr as $k => $v) {
            $info = preg_replace("/define\(\"{$k}\",\".*?\"\)/", "define(\"{$k}\",\"{$v}\")", $info);
        }
        return file_put_contents($file, $info);
    }

使用此此方法只需传入对应的常量文件位置  修改的数组即可,应用场景:

<form action="action.php" method="post">
    <input name="HOST" type="text" />
    <input name="DBNAME" type="text" />
    <input type="submit" value="修改"/>
</form>

此时在action.php页面只需接收$_POST 这个完整数组传入到方法中即可。

这里面需要注意的是,定义常量需使用双引号如:

define("HOST","127.0.0.1");
define("DBNAME","mysql");

其次,常量的名字应该与表单中的name名字对应!

评论