zoukankan      html  css  js  c++  java
  • php无刷新更新config文件

    本用例包含3个文件:index.php、config.php、update_process.php

    1、index.php

         主要功能:负责显示config.php中的数据信息,并可供修改。

         包含技术:

             1)$.ajax

        2)data = eval('({'+data.trim(',')+'})'); json格式字符串转换成json对象

       源码:

     1 <html>
     2 <head>
     3     <title>config 文件更新</title>
     4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5     <meta http-equiv="Content-Language" content="zh-CN" />
     6     <script type="text/javascript" src="https://files.cnblogs.com/Zjmainstay/jquery-1.6.2.min.js"></script>
     7 </head>
     8 <body>
     9 
    10 <?php
    11     header("Content-type: text/html; charset=utf-8");
    12 
    13     //获取config.php数据
    14     ob_start();
    15     include('config.php');
    16     $configData = ob_get_contents();
    17     ob_clean();
    18     eval($configData); //执行config.php中的变量
    19 
    20     foreach($config as $key => $value){
    21         echo "key:<input type='text' value='{$key}' disabled='disabled'/>  value:<input class='input' id='{$key}' type='text' value='{$value}'/><br/>";
    22     }
    23     echo '<input type="button" value="保存" id="Save"/>';
    24     echo '<div id="feedback"></div>';
    25 ?>
    26 <script type="text/javascript">
    27 $(document).ready(function(){
    28     $("#Save").click(function(){
    29         var inputs = $(".input");
    30         var data = '';
    31         $.each(inputs,function(i,input){
    32             //拼接json格式字符串
    33             data += '"' + $(input).attr('id') + '":"' + $(input).val() + '",';
    34         });
    35         //字符串转换成json
    36         data = eval('({'+data.trim(',')+'})');
    37         $.ajax({
    38             url:'update_process.php',
    39             type:'POST',
    40             data:data,
    41             success:function(result){
    42                 $("#feedback").hide().empty().append(result).toggle(1000);
    43                 setTimeout('$("#feedback").toggle(1000)',2000);
    44             },
    45             error:function(msg){
    46                 alert('Error!'+msg);
    47             }
    48         });
    49     });
    50 });
    51 </script>
    52 </body>
    53 </html>

    2、config.php

       数据文件。

       数据内容:

    1 $config['a_a']='a1';
    2 $config['a_b']='a2';
    3 $config['a_c']='a3';


    3、update_process.php

      主要功能:负责接收ajax上传数据并更新config.php,反馈更新成功与否信息。

      源码: 

     1 <?php
     2     if(empty($_POST)) {
     3         echo 'Post empty data!';
     4     }
     5     
     6     ob_start();
     7     include('config.php');
     8     $configData = ob_get_contents();
     9     ob_clean();
    10     eval($configData);
    11     
    12     $data = '';
    13     foreach($config as $key => $value){
    14         //以config.php中的变量为标准,POST值存在则更新,否则保留config.php中的变量值。
    15         if(isset($_POST[$key])) $data .= "\$config['{$key}']='{$_POST[$key]}';\n";
    16         else $data .= "\$config['{$key}']='{$value}';\n";
    17     }
    18     
    19     file_put_contents('config.php',$data);
    20     echo 'Success Updated!';
    21 //End_php

     软件包下载:config文件无刷新更新源码

    演示地址:config文件无刷新更新演示

    作者:Zjmainstay
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    版权信息
  • 相关阅读:
    Yield Usage Understanding
    Deadclock on calling async methond
    How to generate file name according to datetime in bat command
    Run Unit API Testing Which Was Distributed To Multiple Test Agents
    druid的关键参数+数据库连接池运行原理
    修改idea打开新窗口的默认配置
    spring boot -thymeleaf-url
    @pathvariable和@RequestParam的区别
    spring boot -thymeleaf-域对象操作
    spring boot -thymeleaf-遍历list和map
  • 原文地址:https://www.cnblogs.com/Zjmainstay/p/php_update_config_file.html
Copyright © 2011-2022 走看看