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
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    版权信息
  • 相关阅读:
    _ 下划线 Underscores __init__
    Page not found (404) 不被Django的exception中间件捕捉 中间件
    从装修儿童房时的门锁说起
    欧拉定理 费马小定理的推广
    线性运算 非线性运算
    Optimistic concurrency control 死锁 悲观锁 乐观锁 自旋锁
    Avoiding Full Table Scans
    批量的单向的ssh 认证
    批量的单向的ssh 认证
    Corrupted MAC on input at /usr/local/perl/lib/site_perl/5.22.1/x86_64-linux/Net/SSH/Perl/Packet.pm l
  • 原文地址:https://www.cnblogs.com/Zjmainstay/p/php_update_config_file.html
Copyright © 2011-2022 走看看