Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php如何修改常量

php如何修改常量

王林
王林asal
2020-07-23 18:02:373976semak imbas

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

Atas ialah kandungan terperinci php如何修改常量. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn