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 相关文章推荐
BBS(php & mysql)完整版(六)
Oct 09 PHP
PHP的FTP学习(三)
Oct 09 PHP
PHP+MySQL5.0中文乱码解决方法
Nov 20 PHP
php中文字符截取防乱码
Mar 28 PHP
php 多个submit提交表单 处理方法
Jul 07 PHP
phplock(php进程锁) v1.0 beta1
Nov 24 PHP
PHP多进程编程实例
Oct 15 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
PHP邮箱验证示例教程
Jun 01 PHP
Yii2简单实现给表单添加验证码的方法
Jul 18 PHP
Laravel 批量更新多条数据的示例
Nov 27 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
Apr 26 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
使用php shell命令合并图片的代码
2011/06/23 PHP
WIFI万能钥匙密码查询接口实例
2015/09/28 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
PHP attributes()函数讲解
2019/02/03 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
在JSP中如何实现MD5加密的方法
2016/11/02 Javascript
浅谈js原生拖放
2016/11/21 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
python爬取抖音视频的实例分析
2021/01/19 Python
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
汽车销售顾问求职自荐信
2014/01/01 职场文书
保密工作实施方案
2014/02/24 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
环保主题班会教案
2015/08/13 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript
《王国之心》迎来了发售的20周年, 野村哲发布贺图
2022/04/11 其他游戏
Vue Element plus使用方法梳理
2022/12/24 Vue.js