php修改常數的方法:可以利用正規表示式的方式進行常數的修改。要使用正規表示式的方式,我們需要藉助preg_replace()函數,該函數用於執行一個正規表示式的搜尋與替換。
我們可以使用正規取代的方式來進行常數的修改,這是最為簡單方便的。
(推薦教學: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中文網其他相關文章!