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 相关文章推荐
基于mysql的论坛(6)
Oct 09 PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
php统计文件大小,以GB、MB、KB、B输出
May 29 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
PHP实现对站点内容外部链接的过滤方法
Sep 10 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
一键生成各种尺寸Icon的php脚本(实例)
Feb 08 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 PHP
php解析非标准json、非规范json的方式实例
Dec 10 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中的日期处理方法集锦
2007/01/02 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
js 实现 input type="file" 文件上传示例代码
2013/08/07 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
2017/09/22 jQuery
axios的拦截请求与响应方法
2018/08/11 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
python求pi的方法
2014/10/08 Python
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
python实现Zabbix-API监控
2018/09/17 Python
flask-restful使用总结
2018/12/04 Python
python队列原理及实现方法示例
2019/11/27 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
奥地利网上书店:Weltbild
2017/07/14 全球购物
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
网络工程师个人的自我评价范文
2013/10/01 职场文书
给酒店员工的表扬信
2014/01/11 职场文书
《雨霖铃》听课反思
2014/02/13 职场文书
一年级学生评语大全
2014/04/21 职场文书
中学生演讲稿
2014/04/26 职场文书
实习公司领导推荐函
2014/05/21 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
联谊会开场白
2015/06/01 职场文书
五一晚会主持词
2015/07/01 职场文书
关于幸福的感言
2015/08/03 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL