• php中get_cfg_var()和ini_get()的用法及区别


    php里get_cfg_var()和ini_get()都是取得配置值的函数,当你需要获取php.ini里的某个选项的配置值时,这两个函数都都可以使用,得到的结果是一样的。

    不过,get_cfg_var()和ini_get()也有一些区别,这便是本文要谈的内容。

    在说这两个函数区别之前,我们先来了解一下它们的含义及用法。

    有关ini_get()的用法,前面有一篇《php用ini_get获取php.ini里变量值的方法》,这里不再累赘。

    下面主要说说get_cfg_var()函数。

    get_cfg_var: 取得PHP的配置选项值。

    语法: string get_cfg_var(string varname);

    返回值: 字符串

    内容说明: 若正确取得目前 PHP 配置选项 varname,则返回变量值。失败则返回 false。

    下面说说这两个函数的区别

    其实,这两个函数的区别是很鲜明,并且易懂易学易用。

    get_cfg_var(): 取的值是配置文件中的值
    ini_get():  则取的当前值

    比如

    1
    2
    3
    ini_set('SMTP', '192.160.0.24'); // 改变 SMTP 的当前值
    print get_cfg_var('SMTP'); // 返回 localhost
    print ini_get('SMTP'); // 返回 192.160.0.24

    代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    /*
    Our php.ini contains the following settings:
    display_errors = On
    register_globals = Off
    post_max_size = 8M
    */
    echo 'display_errors = ' . ini_get('display_errors') . " ";
    echo 'register_globals = ' . ini_get('register_globals') . " ";
    echo 'post_max_size = ' . ini_get('post_max_size') . " ";
    //POST提交内容限制:
    echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . " ";
    echo 'allow_url_fopen = ' . (ini_get('allow_url_fopen')) . " ";
    //使用URL打开文件:
    ?>

    输出:

    1
    2
    3
    4
    5
    display_errors = 1
    register_globals = 0//在我机器上什么也没有
    post_max_size = 8M
    post_max_size+1 = 9
    allow_url_fopen = 1

    代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    /*
    Our php.ini contains the following settings:
    display_errors = On
    register_globals = Off
    post_max_size = 8M
    */
    echo 'display_errors = ' . get_cfg_var('display_errors') . " ";
    echo 'register_globals = ' . get_cfg_var('register_globals') . " ";
    echo 'post_max_size = ' . get_cfg_var('post_max_size') . " ";
    //POST提交内容限制:
    echo 'post_max_size+1 = ' . (get_cfg_var('post_max_size')+1) . " ";
    echo 'allow_url_fopen = ' . (get_cfg_var('allow_url_fopen')) . " ";
    //使用URL打开文件:
    ?>

    输出

    1
    2
    3
    4
    5
    display_errors = 1
    register_globals =
    post_max_size = 8M
    post_max_size+1 = 9
    allow_url_fopen = 1

    另外,这里提一提ini_get_all()函数,这个函数与ini_get()不同,ini_get_all()函数是以数组的形式返回整个php的环境变量,不过它的用法也很简单。

    ini_get_all()会把所有选项值以数组的形式返回,方便你当phpinfo()无法使用的时候来使用。

    例子:

    1
    2
    3
    4
    <?php
    $inis = ini_get_all();
    print_r($inis);
    ?>

    输出:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Array (
    [allow_call_time_pass_reference] => Array
    (
    [global_value] => 1
    [local_value] => 1
    [access] => 6
    )
    [allow_url_fopen] => Array
    (
    [global_value] => 1
    [local_value] => 1
    [access] => 7
    )
    )

    希望本文所述对大家的php程序设计有所帮助。

  • 相关阅读:
    U8自动、手动备份不成功 “远程组件初始化失败”
    关于延迟时间的一点智慧
    xe 最大连接数限制、记录客户连接、心跳
    应用开发框架之——根据数据表中的存储的方法名称来调用方法
    固定资产卡片管理累计折旧数不准确
    整理表索引
    用友U8固定资产总账重算语句
    新建自定义报表发布到普通菜单节点流程
    怎么更改月折旧率的小数位
    重建数据库索引等SQL常用语句
  • 原文地址:https://www.cnblogs.com/zikai/p/4998108.html
Copyright © 2020-2023  润新知