PHP配置文件中最常用四个ini函数


Posted in PHP onMarch 19, 2007

php的配置函数就是几个ini_*的函数,主要是针对配置文件的操作,其实就四个函数:ini_get、ini_set、ini_get_all、ini_restore。个人感觉最有用的就是ini_set和ini_get。 
* 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+mysql保存和输出文件
Oct 09 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
PHP goto语句简介和使用实例
Mar 11 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
php中get_cfg_var()和ini_get()的用法及区别
Mar 04 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
浅谈php中变量的数据类型判断函数
Mar 04 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
php 数据结构之链表队列
Oct 17 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 PHP
推荐一篇入门级的Class文章
Mar 19 #PHP
隐藏你的.php文件的实现方法
Mar 19 #PHP
生成静态页面的php函数,php爱好者站推荐
Mar 19 #PHP
php分页示例代码
Mar 19 #PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 #PHP
IIS6的PHP最佳配置方法
Mar 19 #PHP
php中的实现trim函数代码
Mar 19 #PHP
You might like
2020最新CPU的性能排名
2020/04/02 数码科技
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
简单实现JS倒计时效果
2016/12/23 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
Python三元运算实现方法
2015/01/12 Python
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
python和go语言的区别是什么
2020/07/20 Python
Python faker生成器生成虚拟数据代码实例
2020/07/20 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
后勤主管工作职责
2013/12/07 职场文书
电气工程和自动化自荐信范文
2013/12/25 职场文书
历史学专业求职信
2014/06/19 职场文书
学校四风对照检查材料
2014/08/28 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers