================================================
php基础示例--正则表达式--动态修改配置文件
================================================
一、相关的知识点:
正表达式:
preg_match_all -- 进行全局正则表达式匹配
preg_replace -- 执行正则表达式的搜索和替换
文件的读和写
file_put_contents--文件写入函数
file_get_contents()--文件读取信息函数
二、实现步骤:
1.准备好一个配置文件:dbconfig.php
2. 定义一个edit.php,配置文件信息的编辑界面
a 读取配置文件的信息
b 使用正则表达式解析配置文件的信息
c 遍历解析后的信息,并输出到修改表单中
3. 定义一个doupdate.php执行配置文件信息的修改操作
(使用正则替换方式)
程序员,你不是一个人;网站开发QQ群:436471830,在线充值,或联系QQ416148489直接充值
本案例是通过php正则表达式的匹配,替换等相关操作,实现对配置文件信息的动态修改。增加了大家对正则表达式的实例应用和理解。 ================================================ php基础示例--正则表达式--动态修改配置文件 ================================================ 一、相关的知识点: 正表达式: preg_match_all -- 进行全局正则表达式匹配 preg_replace -- 执行正则表达式的搜索和替换 文件的读和写 file_put_contents--文件写入函数 file_get_contents()--文件读取信息函数 二、实现步骤: 1.准备好一个配置文件:dbconfig.php 2. 定义一个edit.php,配置文件信息的编辑界面 a 读取配置文件的信息 b 使用正则表达式解析配置文件的信息 c 遍历解析后的信息,并输出到修改表单中 3. 定义一个doupdate.php执行配置文件信息的修改操作 (使用正则替换方式) <?php //执行配置文件的修改操作 //echo "<pre>"; //var_dump($_POST); //echo "</pre>"; //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"=>"用户","PASS"=>"密码","DBNAME"=>"库名"); //1 读取配置文件的信息 $info = file_get_contents("dbconfig.php");//将dbconfig.php文件中信息读出并赋给info变量 //2 使用正则表达式解析配置文件的信息 preg_match_all("/define\(\"(.*?)\",\"(.*?)\"\)/",$info,$a); //将info中的信息解析到a变量中存储 echo "<pre>"; //var_dump($a); echo "</pre>"; //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>";
|