PHP中提供四个函数实现对php.ini的操作:ini_get、ini_set、ini_get_all、ini_restore
其中最常用的是ini_set和ini_get。
下面具体来说说这两个函数的作用:
ini_get()
获取配置文件的选项值,即获取配置文件中某一个选项的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。
例如:
<?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";
?>
输出:
display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
php.ini设置中提供magic_quotes_gpc=On选项来自动对post和get到的变量值进行特殊符号转义
php中同时提供了addslashes()函数来完成相同的功能,那么,我们在写过滤函数的过程中,为了兼容以前的版本(我没查过到底从哪个php版本中开始支持magic_quotes_gpc这个选项)或者是判断这个设置是否开启,以决定是否要在程序中对get和post变量进行转义,所以你就可以这样写一个函数:
function stringFilter($str)
{
if (ini_get('magic_quotes_gpc)') {
return $str;
} else {
return addslashes($str);
}
}
还有一种比较常用的情况就是,如果你不知道php.ini中的全局变量是否打开,可以写一个这样的函数:
function getGetVar($var)
{
if (ini_set('register_gobals')) {
return $var;
} else {
return $_GET['var'];
}
}
以上只是举了两个比较常见的例子去说明ini_get()函数的用处,还有其他地方可以用到
ini_set()
设置php.ini中的某些变量值,即设置php.ini中某个选项中的值(这里需要注意的是,在执行函数后生效,脚本结束的时候,这个设置也失效,且不是所有的选项都能被改函数设置,具体参考手册)
例如在php.ini中的选项display_error选项关闭了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用这个函数:
ini_set("display_errors", "On");
当然还有其他的设置,看你使用的要求具体控制这些选项;
有一个比较灵活的用法,是网上看到的,比如你想在配置文件里添加自己的包含文件路径,但是你有没有权限更改php.ini,那么你可以结合两个函数:
ini_set('include_path',ini_get('include_path').':/your_include_dir:');
另外两个不常用的函数
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
)
...
)
ini_restore()
回复配置文件默认的值,当使用了ini_set设置后可以使用它来恢复set前的值。
---------------------------
附:一个介绍php的比较详细的网站W3school
http://www.w3school.com.cn/php/index.asp
另外:php5提供了一组对变量进行过滤的函数
* filter_var() - 通过一个指定的过滤器来过滤单一的变量
* filter_var_array() - 通过相同的或不同的过滤器来过滤多个变量
* filter_input - 获取一个输入变量,并对它进行过滤
* filter_input_array - 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤
与php.ini有关的几个PHP函数
最新推荐文章于 2024-08-14 09:33:02 发布
本文介绍了PHP中用于操作php.ini配置文件的四个主要函数:ini_get、ini_set、ini_get_all及ini_restore。重点讲解了ini_get和ini_set函数的用法,并通过示例展示了如何在程序中读取和设置配置项。

2540

被折叠的 条评论
为什么被折叠?



