PHP基础示例:用正则表达式修改配置信息
各php工作原理图:
以下是扯代码时间:
<?php //配置文件信息 define("HOST","localhost"); //主机名 define("USER","rootaaaa"); //用户名 define("PASSWORD","root123456"); //密码 define("DBNAME","mydb"); //数据库名
<?php //执行配置文件的修改操作 //1.读取配置文件的信息 $info = file_get_contents("dbconfig.php"); //2.对POST遍历,并对配置文件信息进行正则替换 foreach($_POST as $k => $v) { $info=preg_replace("/define\(\"{$k}\",\"(.*?)\"\)/","define(\"{$k}\",\"{$v}\")",$info); } //3.将替换后的信息写回到配置文件中 file_put_contents("dbconfig.php",$info); echo "<h2>修改成功!</h2>"; echo "<a href='edit.php'>返回</a>";
<?php //编辑配置文件 $keyinfo=array("HOST"=>"主机","USER"=>"用户","PASSWORD"=>"密码","DBNAME"=>"数据库名"); //1.读取配置文件的信息 $info = file_get_contents("dbconfig.php");//将dbconfig.php文件中信息读出并赋值给info变量 //2.使用正则表达式解析配置文件的信息 preg_match_all("/define\(\"(.*?)\",\"(.*?)\"\)/",$info,$a);//将info中的信息解析到a变量中存储 //3.遍历解析后的信息,并输出到修改表单中 echo "<h2>编辑配置文件</h2>"; echo "<form action='doupdate.php' method='post'>"; foreach($a[1] as $k =>$v) { echo "{$keyinfo[$v]}:<input type='text' name='{$v}' value='{$a[2][$k]}' /><br/><br/>"; } echo "<input type='submit' value='编辑' /> "; echo "<input type='reset' value='重置' />"; echo "</form>";