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程序中的常见漏洞进行攻击
Oct 09 PHP
用cookies来跟踪识别用户
Oct 09 PHP
利用PHP实现智能文件类型检测的实现代码
Aug 02 PHP
php中{}大括号是什么意思
Dec 01 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
php使用curl打开https网站的方法
Jun 17 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
Yii框架的路由配置方法分析
Sep 09 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 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
ThinkPHP中Session用法详解
2014/11/29 PHP
PHP类型约束用法示例
2016/09/28 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
获取body标签的两种方法
2011/10/13 Javascript
浅谈JavaScript之事件绑定
2013/07/08 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
chrome调试javascript详解
2015/10/21 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
2017/09/05 jQuery
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
js canvas实现二维码和图片合成的海报
2020/11/19 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
vuex存储token示例
2019/11/11 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
Python实现统计文本文件字数的方法
2017/05/05 Python
Python批量查询域名是否被注册过
2017/06/21 Python
django 常用orm操作详解
2017/09/13 Python
django如何连接已存在数据的数据库
2018/08/14 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2020/06/09 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
高中自我鉴定
2013/12/20 职场文书
英语专业毕业生自荐信范文
2013/12/31 职场文书
高三毕业寄语
2014/04/10 职场文书
销售员态度差检讨书
2014/10/26 职场文书