zoukankan      html  css  js  c++  java
  • 利用配置文件实现后台和前端的参数统一修改。

    很多情况需要后台操作前端的数据,例如管理员在后台设置参数,前台显示的参数会同步修改。

    这里运用以下几个函数及变量。

    $_SERVER['DOCUMENT_ROOT']
    file_put_contents
    strip_whitespace
    var_export

    $_SERVER['DOCUMENT_ROOT']是PHP预定义的几个变量之一。作用是:获取当前运行脚本所在的文档根目录。该根目录是由服务器配置文件中定义。例如apache配置文件httpd.conf中DocumentRoot配置项的值。

    通过这个变量获取相应目录下配置文件

    if (IS_POST) {
                $filename1 = $_SERVER['DOCUMENT_ROOT'] . '/admin/Common/Conf/config.php';   //这个是后台配置文件
                $filename2 = $_SERVER['DOCUMENT_ROOT'] . '/User/Common/Conf/config.php';    //前台配置文件
                file_put_contents($filename1, strip_whitespace("<?php	return " . var_export($_POST, true) . ";?>"));  //将POST传过来的数据写入后台配置文件中
                file_put_contents($filename2, strip_whitespace("<?php	return " . var_export($_POST, true) . ";?>"));  //将POST传过来的数据写入前台配置文件中

    file_put_contents() 函数把一个字符串写入文件中。

    与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

    语法 file_put_contents(file,data,mode,context)    

    file参数,必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。

    data参数,可选。规定要写入文件的数据。可以是字符串、数组或数据流。   data 可以是数组(但不能是多维数组)。

    mode参数,可选。规定如何打开/写入文件。可能的值:FILE_USE_INCLUDE_PATH    ,  FILE_APPEND   ,LOCK_EX

    context参数,可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 null,则忽略。

    该函数将返回写入到文件内数据的字节数。

    strip_whitespace() 函数返回已删除 PHP 注释以及空白字符的源代码文件。该函数对于检测脚本中的实际代码量很有用。

    语法 strip_whitespace(filename)

    filename参数,必须,规定文件名。

     

    var_export()  输出或返回一个变量的字符串表示。跟var_dump类似,不同的是它返回的是一个合法的代码。

    语法 var_export ($expression$return

    expression 参数,必须。

    在上面这个例子里,我们先用var_export()函数将传入的POST值打印出来,然后再用strip_whitespace()函数将不需要的代码清除,获得需要写入的字符串,数组,数据流。

    最后利用file_put_contents()把获得数据写入文件中。

    //例如传入的POST数据为
    a=1,b=2,c=3
    //写入后在配置文件中
    <?php return array('a'=>'1','b'=>'2','c'=>3); ?>

    在控制器中调用配置文件里的数据,例如用thinkphp框架中的C函数调用数据

    $a=C('a');
    $b=C('b');
    $c=C('c');
    
    echo $a;
    echo $b;
    echo $c;

    输出结果为

    123

    利用这样修改配置文件参数,能很好的设置前后台的同步。

  • 相关阅读:
    将Emacs Org mode用于GTD任务管理
    以Emacs Org mode为核心的任务管理方案
    Epson L4158打印机安装与配置
    使用wget命令下载网络资源
    Apt下载安装包时Hash校验和不符
    Deep Learning专栏--FFM+Recurrent Entity Network的端到端方案
    Deep Learning专栏--强化学习之从 Policy Gradient 到 A3C(3)
    Deep Learning专栏--强化学习之MDP、Bellman方程(1)
    Deep Learning基础--Softmax求导过程
    Deep Learning基础--随时间反向传播 (BackPropagation Through Time,BPTT)推导
  • 原文地址:https://www.cnblogs.com/suiyuewuxin/p/5664746.html
Copyright © 2011-2022 走看看