php经典实例使用正则动态修改配置文件

本文介绍了一种利用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正则表达式的匹配,替换等相关操作,实现对配置文件信息的动态修改。增加了大家对正则表达式的实例应用和理解。本案例是通过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[1as $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>";






转载于:https://www.cnblogs.com/66daima/p/7507672.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值