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


本文实例讲述了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():  则取的当前值

比如

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

代码

<?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) . "\n";
echo register_globals =  . ini_get(register_globals) . "\n";
echo post_max_size =  . ini_get(post_max_size) . "\n";
//POST提交内容限制:
echo post_max_size+1 =  . (ini_get(post_max_size)+1) . "\n"; 
echo allow_url_fopen =  . (ini_get(allow_url_fopen)) . "\n";
//使用URL打开文件:
?>

输出:

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

代码

<?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) . "\n";
echo register_globals =  . get_cfg_var(register_globals) . "\n";
echo post_max_size =  . get_cfg_var(post_max_size) . "\n";
//POST提交内容限制:
echo post_max_size+1 =  . (get_cfg_var(post_max_size)+1) . "\n";
echo allow_url_fopen =  . (get_cfg_var(allow_url_fopen)) . "\n";
//使用URL打开文件:
?>

输出

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()无法使用的时候来使用 。

例子:

<?php 
$inis = ini_get_all(); 
print_r($inis); 
?>

输出:

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程序设计有所帮助 。