您所在的位置:小祥子 » 编程 » PHP » 正文

PHP基础示例:用正则表达式修改配置信息

时间:2015-06-02 编辑:怪盗dark 来源:本站整理

PHP工作原理图:

以下是扯代码时间:

<?php
//配置文件信息

    ("HOST","localhost"); //主机名
    ("USER","rootaaaa");      //用户名
    ("PASSWORD","root123456");  //密码
    ("DBNAME","mydb");    //数据库名
dbconfig.php
<?php

//执行配置文件的修改操作

//1.读取配置文件的信息
$info = ("dbconfig.php");
//2.对POST遍历,并对配置文件信息进行正则替换
foreach($_POST as $k => $v)
{
    $info=("/define\(\"{$k}\",\"(.*?)\"\)/","define(\"{$k}\",\"{$v}\")",$info);
}
//3.将替换后的信息写回到配置文件中
("dbconfig.php",$info);

echo "<h2>修改成功!</h2>";
echo "<a href='edit.php'>返回</a>";
doupdate.php
<?php

//编辑配置文件

$keyinfo=array("HOST"=>"主机","USER"=>"用户","PASSWORD"=>"密码","DBNAME"=>"数据库名");

//1.读取配置文件的信息
$info = ("dbconfig.php");//将dbconfig.php文件中信息读出并赋值给info变量
//2.使用正则表达式解析配置文件的信息
("/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>";
edit.php