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


Posted in PHP onMarch 04, 2015

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
php mssql 日期出现中文字符的解决方法
Mar 10 PHP
Wordpress php 分页代码
Oct 21 PHP
php学习之数据类型之间的转换代码
May 29 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
php获取操作系统语言代码
Nov 04 PHP
php之curl实现http与https请求的方法
Oct 21 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 PHP
变量在 PHP7 内部的实现(二)
Dec 21 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
详解PHP服务器如何在有限的资源里最大提升并发能力
May 25 PHP
php用ini_get获取php.ini里变量值的方法
Mar 04 #PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
Mar 04 #PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 #PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
Mar 03 #PHP
PHP获取POST数据的几种方法汇总
Mar 03 #PHP
php函数实现判断是否移动端访问
Mar 03 #PHP
php中instanceof 与 is_a()区别分析
Mar 03 #PHP
You might like
在同一窗体中使用PHP来处理多个提交任务
2008/05/08 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
自己的js工具_Form 封装
2009/08/21 Javascript
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
javascript实现简单留言板案例
2021/02/09 Javascript
跟老齐学Python之用while来循环
2014/10/02 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
Django的信号机制详解
2017/05/05 Python
Python实现多线程的两种方式分析
2018/08/29 Python
python基于event实现线程间通信控制
2020/01/13 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
Python调用Redis的示例代码
2020/11/24 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
园林设计师自荐信
2013/11/18 职场文书
大学生蛋糕店创业计划书
2014/01/13 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书