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 和 XML: 使用expat函数(一)
Oct 09 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
PHP通过header实现文本文件下载的代码
Aug 08 PHP
php设计模式 Strategy(策略模式)
Jun 26 PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
Jan 07 PHP
php利用新浪接口查询ip获取地理位置示例
Jan 20 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
PHP时间和日期函数详解
May 08 PHP
php英文单词统计器
Jun 23 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
用php如何解决大文件分片上传问题
Jul 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
如何用php获取程序执行的时间
2013/06/09 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
xml转json的js代码
2012/08/28 Javascript
jquery事件与函数的使用介绍
2013/09/29 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
Python实现类的创建与使用方法示例
2017/07/25 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
Python Gitlab Api 使用方法
2019/08/28 Python
Python内存映射文件读写方式
2020/04/24 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
PHP面试题附答案
2015/11/28 面试题
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
审核会计岗位职责
2013/11/08 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
乌镇导游词
2015/02/02 职场文书
内乡县衙导游词
2015/02/05 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
Windows 11上手初体验:任务栏和开始菜单等迎来大改
2021/11/21 数码科技