PHP经典实例教程(使用正则动态修改配置文件)
1、配置文件
<?php
//配置文件信息
define("HOST","127.10.0.1");//主机名
define("USER","xiuxiu");//用户名
define("PASS","123456");//密码
define("DBNAME","student");//数据库名
define("PAGESIZE","10");//页大小
?>
2、编辑界面
<?php
$keyinfo=array("HOST"=>"主机名","USER"=>"用户名","PASS"=>"密码","DBNAME"=>"数据库名","PAGESIZE"=>"页大小");
//读取配置文件的信息
$info=file_get_contents("dbconfig.php");//读取配置文件到变量中
//使用正则表达式解析配置文件的信息
preg_match_all("/define\(\"(.*?)\",\"(.*?)\"\)/",$info,$aa);//将$info中的信息解析到$aa中存储
//var_dump($aa);
//遍历解析后的信息,并输出到修改表单中
echo "<h2>编辑配置文件</h2>";
echo "<form action='edit.php' method='post'>";
foreach($aa[1] as $k=>$v){
echo "{$keyinfo[$v]}:<input type='text' name='{$v}' value='{$aa[2][$k]}'><br/><br/>";
}
echo "<input type='submit' value='提交'> ";
echo "<input type='reset' value='重置'>";
echo "</form>";
?>
3、执行编辑界面
<?php
//执行配置文件的修改操作
//var_dump($_POST);
//1、读取配置文件的信息
$info=file_get_contents("dbconfig.php");
//2、对post遍历,并对配置文件信息进行正则替换
//preg_replace(正则匹配规则,正则要替换的信息,文件内容)
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='one.php'>返回</a>";
?>
该操作,主要是用于后台配置修改
作者:魔女小溪
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
浙公网安备 33010602011771号