PHP 的几个配置文件函数


Posted in PHP onDecember 21, 2006

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 cli 方式 在crotab中运行解决
Feb 08 PHP
PHP 类商品秒杀计时实现代码
May 05 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
Zend的MVC机制使用分析(一)
May 02 PHP
解析zend studio中直接导入svn中的项目的方法步骤
Jun 21 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
php强制运行广告的方法
Dec 01 PHP
Yii2框架实现注册和登录教程
Sep 30 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
Laravel框架查询构造器简单示例
May 08 PHP
laravel 解决crontab不执行的问题
Oct 22 PHP
使用 MySQL 开始 PHP 会话
Dec 21 #PHP
PHP 编程请选择正确的文本编辑软件
Dec 21 #PHP
PHP 模板高级篇总结
Dec 21 #PHP
PHP函数utf8转gb2312编码
Dec 21 #PHP
小偷PHP+Html+缓存
Dec 20 #PHP
PR值查询 | PageRank 查询
Dec 20 #PHP
转PHP手册及PHP编程标准
Dec 17 #PHP
You might like
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
Vue中qs插件的使用详解
2020/02/07 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
全面了解python中的类,对象,方法,属性
2016/09/11 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
Python学习之time模块的基本使用
2021/01/17 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
业务代表的岗位职责
2013/11/16 职场文书
行政工作个人的自我评价
2014/02/13 职场文书
幼儿园毕业园长感言
2014/02/24 职场文书
教育技术职业规划范文
2014/03/04 职场文书
导游词之井冈山
2019/11/20 职场文书