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 相关文章推荐
E路文章系统PHP
Dec 11 PHP
谈谈PHP的输入输出流
Feb 14 PHP
PHP 读取Postgresql中的数组
Apr 14 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
php获取汉字拼音首字母的方法
Oct 21 PHP
php处理带有中文URL的方法
Jul 11 PHP
CI框架实现优化文件上传及多文件上传的方法
Jan 04 PHP
php实现推荐功能的简单实例
Sep 29 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 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 mysql数据库操作分页类
2008/06/04 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
深入理解PHP中的Streams工具
2015/07/03 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
2013/03/05 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
Python选择网卡发包及接收数据包
2019/04/04 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
.NET常见笔试题集
2012/12/01 面试题
网络专业学生个人的自我评价
2013/12/16 职场文书
迟到检讨书5000字
2014/01/31 职场文书
党员服务承诺书
2014/05/28 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
行政撤诉申请书
2015/05/18 职场文书
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python