php ini_get函数使用方法详解
ini_get函数是获取php中环境变量的值了,当然ini_get能获取到的是要我们php中允许它获取它才可以获取,否则是无法获取到的,ini_get只是获取环境变量值它并不能修改环境变量值.
例如:php.ini文件中包含了以下的设置,代码如下:
register_globals = Off
post_max_size = 8M
PHP部分我们可以这样获取,代码如下:
- <?php
- 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";
- echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
- echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size'));
- ?>
如果想获取整个php.ini里的变量值,我们可以用ini_get的加强函数 ini_get_all(),ini_get_all()函数以数组的形式返回整个php的环境变量,当然如果你只是想了解下php的配置信息用 phpinfo();
接着向下看,php手册中有一个例子,代码如下:
- <?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”;
- //最多能提交的文件大小
- echo ‘post_max_size+1 = ‘ .
- (ini_get(’post_max_size’)+1) . “\n”;
- ?>//开源代码phpfensi.com
- //输出:
- display_errors = 1
- register_globals = 0
- post_max_size = 8M
- post_max_size+1 = 9
PHP配置函数ini_get()主要是为了获取配置文件,可以方便你很多操作,比如你想操作字符串过滤,但是又不清楚magic_quotes_gpc有没有打开,所以你就可以这样写一个函数,代码如下:
- /* 字符串过滤函数 */
- function stringFilter($str)
- {
- if (ini_get(’magic_quotes_gpc)’)
- {
- return $str;
- }
- else {
- return addslashes($str);
- }
- }
当然,如果你无法知道你的全局变量是否打开,也可以定制这样的函数,变量检测函数,代码如下:
- function getGetVar($var)
- {
- if (ini_set(’register_gobals’))
- {
- return $var;
- }
- else {
- return $_GET['var'];
- }
- }
当然,你可以用PHP配置函数ini_get()做很多用途,自己慢慢体会.
补充:ini_get()获取配置参数,ini_set()设置配置参数,代码如下:
- echo ini_get('display_errors'); //1
- //动态修改php.ini配置信息,脚本执行后失效
- ini_set('display_errors',0);
- echo ini_get('display_errors');//0
ini_get_all()获取所有配置信息,代码如下:
- //打印所有配置信息,巨多。。。
- print_r(ini_get_all());
ini_restore()恢复配置信息到原始值,代码如下:
- echo ini_get('display_errors'); //1
- //动态修改php.ini配置信息,脚本执行后失效
- ini_set('display_errors',0);
- ini_restore('display_errors');
- echo ini_get('display_errors');//1