程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php中get_cfg_var()和ini_get()的用法及區別

php中get_cfg_var()和ini_get()的用法及區別

編輯:PHP綜合

本文實例講述了php中get_cfg_var()和ini_get()的用法及區別。分享給大家供大家參考。具體分析如下:

php裡get_cfg_var()和ini_get()都是取得配置值的函數,當你需要獲取php.ini裡的某個選項的配置值時,這兩個函數都都可以使用,得到的結果是一樣的。

不過,get_cfg_var()和ini_get()也有一些區別,這便是本文要談的內容。

在說這兩個函數區別之前,我們先來了解一下它們的含義及用法。

有關ini_get()的用法,前面有一篇《php用ini_get獲取php.ini裡變量值的方法》,這裡不再累贅。

下面主要說說get_cfg_var()函數。

get_cfg_var: 取得PHP的配置選項值。

語法: string get_cfg_var(string varname);

返回值: 字符串

內容說明: 若正確取得目前 PHP 配置選項 varname,則返回變量值。失敗則返回 false。

下面說說這兩個函數的區別

其實,這兩個函數的區別是很鮮明,並且易懂易學易用。

get_cfg_var(): 取的值是配置文件中的值
ini_get():  則取的當前值

比如

ini_set('SMTP', '192.160.0.24'); // 改變 SMTP 的當前值
print get_cfg_var('SMTP'); // 返回 localhost
print ini_get('SMTP'); // 返回 192.160.0.24

代碼

<?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";
//POST提交內容限制:
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n"; 
echo 'allow_url_fopen = ' . (ini_get('allow_url_fopen')) . "\n";
//使用URL打開文件:
?>

輸出:

display_errors = 1
register_globals = 0//在我機器上什麼也沒有
post_max_size = 8M
post_max_size+1 = 9
allow_url_fopen = 1

代碼

<?php
/*
Our php.ini contains the following settings:
display_errors = On
register_globals = Off
post_max_size = 8M
*/
echo 'display_errors = ' . get_cfg_var('display_errors') . "\n";
echo 'register_globals = ' . get_cfg_var('register_globals') . "\n";
echo 'post_max_size = ' . get_cfg_var('post_max_size') . "\n";
//POST提交內容限制:
echo 'post_max_size+1 = ' . (get_cfg_var('post_max_size')+1) . "\n";
echo 'allow_url_fopen = ' . (get_cfg_var('allow_url_fopen')) . "\n";
//使用URL打開文件:
?>

輸出

display_errors = 1
register_globals =
post_max_size = 8M
post_max_size+1 = 9
allow_url_fopen = 1

另外,這裡提一提ini_get_all()函數,這個函數與ini_get()不同,ini_get_all()函數是以數組的形式返回整個php的環境變量,不過它的用法也很簡單。

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 
) 
…
)

希望本文所述對大家的php程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved