PHP动态修改配置文件
文件结构
index.php 主页
config 配置文件
doUpdate.php 修改功能页
页面视图
index.php 文件
<html>
<head>
<title>修改配置</title>
<meta charset='utf-8' />
</head>
<body>
<form action='doUpdate.php' method='post'>
<table border='1' width='300'>
<?php
//读取文件
$info=file_get_contents("config.php");
//var_dump($info);
//正则
preg_match_all('/define\(\"(.*?)\",\"(.*?)\"\)/',$info,$arr);
//var_dump($arr);
//遍历
foreach($arr[1] as $k=>$v){
echo "<tr>";
echo "<td>{$v}</td>";
echo "<td><input type='text' name='{$v}' value='{$arr[2][$k]}' /></td>";
echo "</tr>";
}
?>
<tr>
<td colspan='2' align='center' >
<input type='submit' value='保存' />
<input type='reset' />
</td>
</tr>
</table>
</form>
</body>
</html>
config.php
<?php
define("HOST","localhost3311");
define("USER","root3311");
define("PWD","1231233311");
define("DBNAME","test3311");
?>
doUpdate.php
<?php
//读文件
$info=file_get_contents("config.php");
//var_dump($_POST);
//die;
//遍历$_POST
foreach($_POST as $k=>$v){
//正则替换
$info=preg_replace("/define\(\"{$k}\",\".*?\"\)/","define(\"{$k}\",\"{$v}\")",$info);
}
//回填
file_put_contents("config.php",$info);
echo "ok";
header("refresh:1;url=index.php");
?>