admin 发表于 2021-6-27 15:14:00

亲测可用代码清晰PHP动态修改配置文件成功案例

亲测可用代码清晰PHP动态修改配置文件成功案例 针对只有一个或者几个字段的方便使用 如果数据过多 还是推荐使用数据库修改配置文件
文件结构:index.php 主页config.php  配置文件doUpdate.php 修改功能页文件代码如下https://images2015.cnblogs.com/blog/1098311/201705/1098311-20170513140437488-1665947248.pngindex.php代码<html>
    <head>
      <title>修改配置</title>
      <meta charset='utf-8' />
    </head>
   
    <body>
      <form action='doUpdate.php' method='post'>
            <table border='1' width='300'>
                <?php
                  //读取文件
                  $info=file_get_contents("config.php");
                  //var_dump($info);
                  
                  //正则
                  preg_match_all('/define\(\"(.*?)\",\"(.*?)\"\)/',$info,$arr);
                  //var_dump($arr);
                  
                  //遍历
                  foreach($arr[1, as $k=>$v){
                        echo "<tr>";
                            echo "<td>{$v}</td>";
                            echo "<td><input type='text' name='{$v}' value='{$arr[2,[$k,}' /></td>";
                        echo "</tr>";
                  }
                ?>
                <tr>
                  <td colspan='2' align='center' >
                        <input type='submit' value='保存' />
                        <input type='reset'/>
                  </td>
                </tr>
            </table>
      </form>
    </body>
</html>config.php<?php
    define("HOST","localhost3311");
    define("USER","root3311");
    define("PWD","1231233311");
    define("DBNAME","test3311");

?>doUpdate.php<?php
    //读文件
    $info=file_get_contents("config.php");
   
    //var_dump($_POST);
    //die;
    //遍历$_POST
    foreach($_POST as $k=>$v){
      //正则替换
      $info=preg_replace("/define\(\"{$k}\",\".*?\"\)/","define(\"{$k}\",\"{$v}\")",$info);
    }

    //回填
    file_put_contents("config.php",$info);
    echo "ok";
    header("refresh:1;url=index.php");

?>

页: [1]
查看完整版本: 亲测可用代码清晰PHP动态修改配置文件成功案例