首頁  >  文章  >  後端開發  >  php如何修改常數

php如何修改常數

王林
王林原創
2020-07-23 18:02:373901瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn