• 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
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    版权信息
  • 相关阅读:
    Web 设计与开发终极资源大全(下)
    任务失败,原因是未找到“LC.exe”,或未安装正确的 Microsoft Windows SDK
    NET开发常用DLL资源下载
    sqlserver2005 sqlserver2000连接字符串的区别(NET)
    创业大讲座观后感
    工欲善其事必先利其器搭建Android平台
    Java学习很好的笔记
    Java调用jama实现矩阵运算
    MySQL的安装及使用教程
    eval解析JSON中的注意点
  • 原文地址:https://www.cnblogs.com/Zjmainstay/p/php_update_config_file.html
Copyright © 2020-2023  润新知