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数据库备份类
Mar 20 PHP
PHP源码之explode使用说明
Aug 05 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
php intval函数用法总结
Apr 14 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Jan 22 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学习笔记之 函数声明
2011/06/09 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
Python中关于字符串对象的一些基础知识
2015/04/08 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
Python中的集合介绍
2019/01/28 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
CAT鞋美国官网:CAT Footwear
2017/11/27 全球购物
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
Final类有什么特点
2012/04/25 面试题
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
党支部组织生活会整改方案
2014/09/30 职场文书
家长会主持词开场白
2015/05/29 职场文书
让生命充满爱观后感
2015/06/08 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers