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 相关文章推荐
通过对服务器端特性的配置加强php的安全
Oct 09 PHP
PHP实现的封装验证码类详解
Jun 18 PHP
php实现的一个很好用HTML解析器类可用于采集数据
Sep 23 PHP
php函数指定默认值方法的小例子
Dec 04 PHP
php分页代码学习示例分享
Feb 20 PHP
php的XML文件解释类应用实例
Sep 22 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
php版微信公众账号第三方管理工具开发简明教程
Sep 23 PHP
深入浅出讲解:php的socket通信原理
Dec 03 PHP
PHP聊天室简单实现方法详解
Dec 08 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
php变量与字符串的增删改查操作示例
May 07 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导入模块文件分享
2015/03/17 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
JavaScript中的标签语句用法分析
2015/02/10 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
解析Python中的二进制位运算符
2015/05/13 Python
Python对列表排序的方法实例分析
2015/05/16 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
学术会议欢迎词
2014/01/09 职场文书
门诊手术室工作制度
2014/01/30 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
通信工程求职信
2014/07/16 职场文书
离职感谢信
2015/01/21 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
Redis Stream类型的使用详解
2021/11/11 Redis
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
Java字符串逆序方法详情
2022/03/21 Java/Android
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS