溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何修改php常量

發(fā)布時(shí)間:2020-07-24 16:53:45 來(lái)源:億速云 閱讀:254 作者:Leah 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)如何修改php常量,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

php修改常量的方法:可以利用正則表達(dá)式的方式進(jìn)行常量的修改。要使用正則表達(dá)式的方式,我們需要借助preg_replace()函數(shù),該函數(shù)用于執(zhí)行一個(gè)正則表達(dá)式的搜索與替換。

我們可以使用正則替換的方式進(jìn)行常量的修改,這是最為簡(jiǎn)單方便的。

函數(shù)介紹:

preg_replace 函數(shù)執(zhí)行一個(gè)正則表達(dá)式的搜索和替換。

函數(shù)語(yǔ)法:

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

參數(shù)說(shuō)明:

  • $pattern: 要搜索的模式,可以是字符串或一個(gè)字符串?dāng)?shù)組。

  • $replacement: 用于替換的字符串或字符串?dāng)?shù)組。

  • $subject: 要搜索替換的目標(biāo)字符串或字符串?dāng)?shù)組。

  • $limit: 可選,對(duì)于每個(gè)模式用于每個(gè) subject 字符串的最大可替換次數(shù)。 默認(rèn)是-1(無(wú)限制)。

  • $count: 可選,為替換執(zhí)行的次數(shù)。

返回值:

如果 subject 是一個(gè)數(shù)組, preg_replace() 返回一個(gè)數(shù)組, 其他情況下返回一個(gè)字符串。如果匹配被查找到,替換后的 subject 被返回,其他情況下返回沒(méi)有改變的 subject。如果發(fā)生錯(cuò)誤,返回 NULL。

代碼實(shí)現(xiàn):

/*
    @param 常量文件
    @param 修改數(shù)組(常量名=>常量值)
    @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);
    }

使用此方法我們只需傳入對(duì)應(yīng)的常量文件位置和修改的數(shù)組即可。

應(yīng)用場(chǎng)景:

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

此時(shí)在action.php頁(yè)面只需接收$_POST 這個(gè)完整數(shù)組傳入到方法中即可。

需要注意的是定義常量需使用雙引號(hào)如:

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

其次,常量的名字應(yīng)該與表單中的name名字對(duì)應(yīng)。

看完上述內(nèi)容,你們對(duì)如何修改php常量有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)
推薦閱讀:
  1. php之常量
  2. PHP 5 常量

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI