php修改常量的方法:可以利用正則表達(dá)式的方式進(jìn)行常量的修改。要使用正則表達(dá)式的方式,我們需要借助preg_replace()函數(shù),該函數(shù)用于執(zhí)行一個(gè)正則表達(dá)式的搜索與替換。
我們可以使用正則替換的方式進(jìn)行常量的修改,這是最為簡(jiǎn)單方便的。
(推薦教程:php教程)
函數(shù)介紹:
preg_replace 函數(shù)執(zhí)行一個(gè)正則表達(dá)式的搜索和替換。
函數(shù)語(yǔ)法:
mixed preg_replace(mixed $pattern , mixed $replacement, mixed $subject[, int $limit = -1[, int &$count]])參數(shù)說明:
$pattern: 要搜索的模式,可以是字符串或一個(gè)字符串?dāng)?shù)組。
$replacement: 用于替換的字符串或字符串?dāng)?shù)組。
$subject: 要搜索替換的目標(biāo)字符串或字符串?dāng)?shù)組。
$limit: 可選,對(duì)于每個(gè)模式用于每個(gè) subject 字符串的最大可替換次數(shù)。 默認(rèn)是-1(無限制)。
$count: 可選,為替換執(zhí)行的次數(shù)。
返回值:
如果 subject 是一個(gè)數(shù)組, preg_replace() 返回一個(gè)數(shù)組, 其他情況下返回一個(gè)字符串。如果匹配被查找到,替換后的 subject 被返回,其他情況下返回沒有改變的 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)。
【備案碼的問題】-備案平臺(tái)網(wǎng)絡(luò)連接不可用-其他問題在運(yùn)營(yíng)設(shè)計(jì)中,如何運(yùn)用數(shù)據(jù)指標(biāo)如何租云服務(wù)器給別人百度和騰訊云服務(wù)器哪個(gè)好用阿里云服務(wù)器開發(fā)了多少錢浙江匯鼎租服務(wù)器云服務(wù)器騰訊云服務(wù)器硬盤問題