PHP最常用的ini函数分析 针对PHP.ini配置文件


Posted in PHP onApril 22, 2010

* ini_get():获取配置文件的选项值

这个函数相信很多人都使过,就是获取配置文件中某一个选项的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。

比如手册中的例子:

<?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"; ?>

输出:

display_errors = 1 register_globals = 0 post_max_size = 8M post_max_size+1 = 9

这个函数主要是为了获取配置文件,可以方便你很多操作。比如你想操作字符串过滤,但是又不清楚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']; } }

当然,你可以做很多用途,自己慢慢体会。

* ini_set函数:设置php.ini中的某些变量值

这个函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表。

就是能够设置php.ini中的选项值比如,display_error选项关闭了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用这个函数:

ini_set("display_errors", "On");

那么在你这个页面的程序都会显示错误信息了,而且你还可以使用error_reporting来设置显示的错误信息级别。

如果你需要增加脚本执行时间,那么可以设置:

ini_set("max_execution_time", "180");

那么脚本执行时间就由默认的30秒变为180秒,当然,你也可以使用set_time_limit()来设置。

其实你把ini_set和ini_get结合使的话,非常好。比如你想在配置文件里添加自己的包含文件路径,但是你有没有权限更改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设置后可以使用它来恢复。

PHP 相关文章推荐
如何在WIN2K下安装PHP4.04
Oct 09 PHP
php的一个登录的类 [推荐]
Mar 16 PHP
php生成xml简单实例代码
Dec 16 PHP
PHP数据流应用的一个简单实例
Sep 14 PHP
php二维数组排序与默认自然排序的方法介绍
Apr 27 PHP
理解PHP中的Session及对Session有效期的控制
Jan 08 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
Mar 16 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
Sep 01 PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
Jun 22 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 PHP
php allow_url_include的应用和解释
Apr 22 #PHP
php strcmp使用说明
Apr 22 #PHP
PHP 加密解密内部算法
Apr 22 #PHP
PHP 根据IP地址控制访问的代码
Apr 22 #PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 #PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 #PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 #PHP
You might like
php中cookie的作用域
2008/03/27 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
如何在PHP中使用数组
2020/06/09 PHP
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
Javascript原型链和原型的一个误区
2014/10/22 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
2017/07/03 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
vue中watch的用法汇总
2020/12/28 Vue.js
python实现的各种排序算法代码
2013/03/04 Python
go语言计算两个时间的时间差方法
2015/03/13 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
django 发送手机验证码的示例代码
2018/04/25 Python
python中实现控制小数点位数的方法
2019/01/24 Python
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
好的促销活动方案
2014/08/21 职场文书
铣工实训报告
2014/11/05 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
爱心捐书倡议书
2015/04/27 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android