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
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    版权信息
  • 相关阅读:
    Palindrome Partitioning
    Minimum Path Sum
    Maximum Depth of Binary Tree
    Minimum Depth of Binary Tree
    Unique Binary Search Trees II
    Unique Binary Search Trees
    Merge Intervals
    Merge Sorted Array
    Unique Paths II
    C++ Primer Plus 笔记第九章
  • 原文地址:https://www.cnblogs.com/Zjmainstay/p/php_update_config_file.html
Copyright © 2011-2022 走看看