1.index.php -- 展示修改界面
2.edit.php -- 修改功能代碼
3.config.php -- 實際的修改部分
<?php
include 'config.php';
?>
<form action="edit.php" method="post">
<input type="text" name="DB_HOST" value="<?php echo DB_HOST;?>" /><br />
<input type="text" name="DB_USER" value="<?php echo DB_USER;?>" /><br />
<input type="text" name="DB_PWD" value="<?php echo DB_PWD;?>" /><br />
<input type="text" name="DB_NAME" value="<?php echo DB_NAME;?>" /><br />
<input type="submit" value="修改" />
</form>
二、edit.php 讀取config.php文件,將這個文件視爲字符串。我然後使用正則表達示匹配來修改內容。
<?php
$string=file_get_contents('config.php');
//DB_HOST localhost
foreach($_POST as $key=>$val){
//定義正則來查找內容,這裏面的key爲form表單裏面的name
$yx="/define\('$key','.*?'\);/";
//將內容匹配成對應的key和修改的值
$re="define('$key','$val');";
//替換內容
$string=preg_replace($yx,$re,$string);
}
//寫入成功
file_put_contents('config.php',$string);
echo '修改成功';
?>
三、config.php 實際存儲配置文件的部份,存儲了真實的config.php文件內容:
<?php
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PWD','root');
define('DB_NAME','neirong');
?>
文章轉自:http://www.php.cn/code/1198.html