欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php如何修改常量

程序员文章站 2022-03-23 23:31:43
...

php修改常量的方法:可以利用正则表达式的方式进行常量的修改。要使用正则表达式的方式,我们需要借助preg_replace()函数,该函数用于执行一个正则表达式的搜索与替换。

php如何修改常量

我们可以使用正则替换的方式进行常量的修改,这是最为简单方便的。

(推荐教程:php教程

函数介绍:

preg_replace 函数执行一个正则表达式的搜索和替换。

函数语法:

mixed preg_replace(mixed $pattern , mixed $replacement, mixed $subject[, int $limit = -1[, int &$count]])

参数说明:

  • $pattern: 要搜索的模式,可以是字符串或一个字符串数组。

  • $replacement: 用于替换的字符串或字符串数组。

  • $subject: 要搜索替换的目标字符串或字符串数组。

  • $limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。

  • $count: 可选,为替换执行的次数。

返回值:

如果 subject 是一个数组, preg_replace() 返回一个数组, 其他情况下返回一个字符串。如果匹配被查找到,替换后的 subject 被返回,其他情况下返回没有改变的 subject。如果发生错误,返回 NULL。

代码实现:

/*
    @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名字对应。

以上就是php如何修改常量的详细内容,更多请关注其它相关文章!

相关标签: php 常量