PHP动态修改配置文件——php经典实例

文件结构:

index.php 主页

config  配置文件

doUpdate.php 修改功能页

index.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");

?>

下载地址:http://files.cnblogs.com/files/wordblog/config.zip

时间: 2024-11-15 13:24:01

PHP动态修改配置文件——php经典实例的相关文章

php动态修改配置文件

<?php define("host","localhost"); define("port","3306"); define("user","root"); define("pwd","root2"); define("dbname","text23"); <?php //1.读取配置文件的信息

如何做到在webpack打包vue项目后,在外部动态修改配置文件

在我们做完vue项目后,只需要执行 npm run dist 就可以轻松进行打包转测试,可是如果我们临时需要修改一些配置文件比如域名,这时候我们就有点懵逼了,那就修改了再重新打一次包? NO NO NO,让我们一起来探索如何解决这个问题吧. 首先我们需要借助一个插件 generate-asset-webpack-plugin npm install generate-asset-webpack-plugin --save-dev 其次在build文件夹下建立一个generate-asset.co

Consul+Registrator+Consul-template实现动态修改nginx配置文件

实现需求 用nginx做负载均衡,手动的方式是在upstream中添加或删除后端服务器,比较麻烦. 通过Registrator收集需要注册到Consul作为Nginx后端服务器信息然后注册到Consul key/value.Consul-template去Consul key/value中读取信息,然后自动修改Nginx配置文件并平滑重启Nginx.不需要修改nginx.conf 环境 192.168.0.149 Mesos-master Zookeeper Consul-server Cons

Java反射机制可以动态修改实例中final修饰的成员变量吗?

问题:Java反射机制可以动态修改实例中final修饰的成员变量吗? 回答是分两种情况的. 1. 当final修饰的成员变量在定义的时候就初始化了值,那么java反射机制就已经不能动态修改它的值了. 2. 当final修饰的成员变量在定义的时候并没有初始化值的话,那么就还能通过java反射机制来动态修改它的值. 实验: 1. 当final修饰的成员变量在定义的时候就初始化了值 1 public Class Person { 2 private final String name = "damon

SpringBoot系列十一:SpringBoot整合Restful架构(使用 RestTemplate 模版实现 Rest 服务调用、Swagger 集成、动态修改日志级别)

1.概念:SpringBoot整合Restful架构 2.背景 Spring 与 Restful 整合才是微架构的核心,虽然在整个 SpringBoot(SpringCloud)之中提供有大量的服务方便整合,但是这些 整合都不如 Rest 重要,因为 Rest 是整个在微架构之中进行通讯的基础模式.那么对于 Rest 首先必须对其有一个最为核心的解释: 利用 JSON 实现数据的交互处理.而且 Spring 里面提供有一个非常强大的 RestTemplate 操作模版,利用此模版可以非常轻松的实

redis动态修改参数

通过 config get 命令可以查看参数. 通过config set 可以修改某些参数 动态关闭redis的aof功能:(不要忘了也修改配置文件中的aof选项使其保持一致) 127.0.0.1:6378> CONFIG set appendonly noOK127.0.0.1:6378> CONFIG GET appendonly1) "appendonly"2) "no"

《C#并发编程经典实例》笔记

1.前言 2.开宗明义 3.开发原则和要点 (1)并发编程概述 (2)异步编程基础 (3)并行开发的基础 (4)测试技巧 (5)集合 (6)函数式OOP (7)同步 1.前言 最近趁着项目的一段平稳期研读了不少书籍,其中<C#并发编程经典实例>给我的印象还是比较深刻的.当然,这可能是由于近段日子看的书大多嘴炮大于实际,如<Head First设计模式><Cracking the coding interview>等,所以陡然见到一本打着"实例"旗号的

《PHP经典实例(第2版)》

PHP经典实例(第2版)能够为您节省宝贵的Web开发时间.有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解.<PHP经典实例(第2版)>将PHP的特性与经典实例丛书的独特形式组合到一起,足以帮您成功地构建跨浏览器的Web应用程序.在这个修订版中,您可以更加方便地找到各种编程问题的解决方案,<PHP经典实例(第2版)>中内容涵盖了:表单处理:Session管理:数据库交互:使用Web服务. 从初学者常见的问题到高级Web编程技术,这本包含了丰富的.具有实际应用价值的

在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据)

原文:在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据) 我们都知道,在asp.net中修改了配置文件web.config后,会导致应用程序重启,所有 会话(session)丢失.然而,应用程序的配置信息放在配置文件里是最佳选择,在后台修改了配置后导致所有会话丢失是非常不爽的事情,这个时候可将配 置文件中经常需要改变的参数配置节 放到外面来,例如appSetting节. 一.原来的web.