您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(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è)資訊頻道,感謝大家的支持。
免責(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)容。