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

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设置后可以使用它来恢复。

(0)

相关推荐

  • php使用COPY函数更新配置文件的方法

    本文实例讲述了php使用COPY函数更新配置文件的方法.分享给大家供大家参考.具体如下: _saveconfig.php文件如下: <?php /* * File: _saveconfig.php * * Modified: 2010-7-11 * By:liulang * 说明:涉及到两个文件:_saveconfig.php和config.php当对后台的一些全局配置变量进行更新时, * 就更改后台的config.php然后通过这个文件更改前台的config.php文件(前后台文件都一样),

  • PHP中操作ini配置文件的方法

    PHP操作ini配置文件 复制代码 代码如下: <?php//写ini文件function write_ini_file($assoc_arr, $path, $has_sections=FALSE){    $content = "";    if ($has_sections)    {        foreach ($assoc_arr as $key=>$elem)        {            $content .= "[".$ke

  • PHP 的几个配置文件函数

    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 co

  • php中配置文件操作 如config.php文件的读取修改等操作

    复制代码 代码如下: <?php $name="admin";//kkkk $bb='234'; $db=4561321; $kkk="admin"; ?> 函数定义: 配置文件数据值获取:function getconfig($file, $ini, $type="string") 配置文件数据项更新:function updateconfig($file, $ini, $value,$type="string"

  • 合并ThinkPHP配置文件以消除代码冗余的实现方法

    很多时候我们在使用ThinkPHP配置网站前台和网站后台的数据库连接时,往往都是分别在前台的配置文件和后台的配置文件单独都写了配置的.但是有很多时候配置前台和后台的数据库可能是一样的配置,但是在二个文件中用的都是一样的配置,那么这时代码就产生了冗余. 网站前台好使用数据库,比方说用户的注册.用户的登录还有评论等,这些都需要我们在前台使用到数据库,既然使用了数据库那么就得连接数据库!网站后台那就更不用讲了,使用数据库无处不在. 大部分的网站前台和后台都是使用的一个数据库,也就是前台和后台连接数据库

  • PHP读取配置文件类实例(可读取ini,yaml,xml等)

    本文实例讲述了PHP读取配置文件类实例.分享给大家供大家参考.具体如下: <?php class Settings { var $_settings = array (); function get($var) { $var = explode ( '.', $var ); $result = $this->_settings; foreach ( $var as $key ) { if (! isset ( $result [$key] )) { return false; } $resul

  • php数据库配置文件一般做法分享

    config.php文件: 复制代码 代码如下: <?php $db_name="test"; $db_username="root"; global $db_password; ?> 数据库操作类(调用配置文件)db.fun.php: 复制代码 代码如下: <?php require("config/config.php"); class db{ function fun(){ global $db_username,$db_

  • PHP获取和操作配置文件php.ini的几个函数介绍

    1.ini_get()获取配置参数,ini_set()设置配置参数 复制代码 代码如下: <?phpecho ini_get('display_errors'); //1//动态修改php.ini配置信息,脚本执行后失效ini_set('display_errors',0);echo ini_get('display_errors');//0 2.ini_get_all()获取所有配置信息 复制代码 代码如下: <?php//打印所有配置信息,巨多...print_r(ini_get_all(

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

    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 follo

  • sql中的常用的字符串处理函数大全

    具体内容如下所示: 一.常用函数 1.ASCII() 返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用''括起来,但含其它字符的字符串必须用''括起来使用,否则会出错. 2.CHAR() 将ASCII 码转换为字符.如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL . 3.LOWER()和UPPER() LOWER()将字符串全部转为小写:UPPER()将字符串全部转为大写. 4.STR() 把数值型数据转换为字符型数据. S

  • SpringBoot从yml配置文件中读常用参数值实例方法

    SpringBoot现在基本上都是使用application-XXX.yml(生产环境为pro,开发测试环境为dev)来配置项目中的一些配置条件,在springboot中还可以通过从yml文件中将yml中的数据直接读取出来. 1.yml文件(这里设置参数的时候往往设置两层前缀,避免在调用的时候该属性中的部分参数名与计算机中的某些名字冲突) test: person: lastName: hello age: 18 boss: false birth: 2017/12/12 maps: {k1:

  • pytorch中的nn.ZeroPad2d()零填充函数实例详解

    在卷积神经网络中,有使用设置padding的参数,配合卷积步长,可以使得卷积后的特征图尺寸大小不发生改变,那么在手动实现图片或特征图的边界零填充时,常用的函数是nn.ZeroPad2d(),可以指定tensor的四个方向上的填充,比如左边添加1dim.右边添加2dim.上边添加3dim.下边添加4dim,即指定paddin参数为(1,2,3,4),本文中代码设置的是(3,4,5,6)如下: import torch.nn as nn import cv2 import torchvision f

  • PHP最常用的ini函数分析 针对PHP.ini配置文件

    * 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

  • redis配置文件中常用配置详解

    此次安装的版本为: 5.0.3 [root@localhost local]# redis-server --version Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=afabdecde61000c3 打开redis.cof NETWORK # 指定 redis 只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求 bind 127.0.0.1 #是否开启保护模式,默认开启.要是配置

  • SpringBoot从配置文件中获取属性的四种方法总结

    目录 方式一:@Value 方式二:@ConfigurationProperties @Value和@ConfigurationProperties比较 方式三:@PropertySource 方式四:使用工具类无需注入获取.yml中的值 方式一: @Value 基本类型属性注入,直接在字段上添加@Value("${xxx.xxx}")即可.注意这里用的是$,而不是#.@Value注入的属性,一般其他属性没有关联关系. 配置文件 user: name: Manaphy age: 19

  • ThinkPHP中的常用查询语言汇总

    本文实例汇总了ThinkPHP中的常用查询语言,供大家参考之用.相信能给大家ThinkPHP开发带来一定的帮助.具体如下: 一.普通查询: 在查询带入where条件等,最少有三种形式 1.字符串形式: 'id>5 and id<9' 2.数组形式: 示例代码如下: $user=M('user'); $data['username']='liwenkai'; $list=$user->where(array('username'=>'liwenkai'))->select();

  • 浅析Nginx配置文件中的变量的编写使用

    nginx 的配置文件使用的就是一门微型的编程语言,许多真实世界里的 Nginx 配置文件其实就是一个一个的小程序.当然,是不是"图灵完全的"暂且不论,至少据我观察,它在设计上受 Perl 和 Bourne shell 这两种语言的影响很大.在这一点上,相比 Apache 和 Lighttpd 等其他 Web 服务器的配置记法,不能不说算是 Nginx 的一大特色了.既然是编程语言,一般也就少不了"变量"这种东西(当然,Haskell 这样奇怪的函数式语言除外了).

  • php中的常用魔术方法汇总

    这篇文章详细的对php中的常用魔术方法进行了整理归纳,分享给大家供大家参考,具体内容如下 1.PHP把所有"__"开头的方法当做魔术方法,所以任何自定义的方法都不能是"__"开头 php提供的重载,是指动态的创建属性或方法.重载是通过魔术方法来实现的.这些魔术方法的参数不能饮用传递,__get(),__set(),__isset(),__unset(),实现类属性重载. 2.当访问类中不可访问的属性时,将调用__get()方法 3.当访问类中不可访问的属性时,根据不

随机推荐