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 相关文章推荐
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 PHP
解析php做推送服务端实现ios消息推送
Jul 01 PHP
php preg_replace替换实例讲解
Nov 04 PHP
Codeigniter操作数据库表的优化写法总结
Jun 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
thinkPHP中钩子的两种配置调用方法详解
Nov 11 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 PHP
使用XHProf查找PHP性能瓶颈的实例
Dec 13 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
Apr 24 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 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
用PHP产生动态的影像图
2006/10/09 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
jQuery 表格工具集
2010/04/25 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
2019/06/28 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
JavaScript实现点击图片换背景
2020/11/20 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
Python中的作用域规则详解
2015/01/30 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
Django--权限Permissions的例子
2019/08/28 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
电子专业推荐信范文
2013/11/18 职场文书
酒店执行总经理岗位职责
2013/12/15 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
mysql数据库如何转移到oracle
2022/12/24 MySQL