PHP 的幾個(gè)配置文件函數(shù)
更新時(shí)間:2006年12月21日 00:00:00 作者:
php 的配置函數(shù)就是幾個(gè)ini_*的函數(shù),主要是針對(duì)配置文件的操作,其實(shí)就四個(gè)函數(shù):ini_get、ini_set、ini_get_all、ini_restore。個(gè)人感覺最有用的就是ini_set和ini_get。
* ini_get():獲取配置文件的選項(xiàng)值
這個(gè)函數(shù)相信很多人都使過,就是獲取配置文件中某一個(gè)選項(xiàng)的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。
比如手冊(cè)中的例子:
〈?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“; //顯示錯(cuò)誤是否打開
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
這個(gè)函數(shù)主要是為了獲取配置文件,可以方便你很多操作。比如你想操作字符串過濾,但是又不清楚magic_quotes_gpc有沒有打開,所以你就可以這樣寫一個(gè)函數(shù):
/* 字符串過濾函數(shù) */
function stringFilter($str)
{
if (ini_get('magic_quotes_gpc)') {
return $str;
} else {
return addslashes($str);
}
}
當(dāng)然,如果你無法知道你的全局變量是否打開,也可以定制這樣的函數(shù):
/* 變量檢測(cè)函數(shù) */
function getGetVar($var)
{
if (ini_set('register_gobals')) {
return $var;
} else {
return $_GET['var'];
}
}
當(dāng)然,你可以做很多用途,自己慢慢體會(huì)。
* ini_set函數(shù):設(shè)置php.ini中的某些變量值
這個(gè)函數(shù)是設(shè)置選項(xiàng)中的值,在執(zhí)行函數(shù)后生效,腳本結(jié)束的時(shí)候,這個(gè)設(shè)置也失效。不是所有的選項(xiàng)都能被改函數(shù)設(shè)置的。具體那些值能夠設(shè)置,可以查看手冊(cè)中的列表。
就是能夠設(shè)置php.ini中的選項(xiàng)值比如,display_error選項(xiàng)關(guān)閉了,但是你要顯示程序中的錯(cuò)誤信息,方便你調(diào)試程序,那么就可以使用這個(gè)函數(shù):
ini_set(“display_errors“, “On“);
那么在你這個(gè)頁面的程序都會(huì)顯示錯(cuò)誤信息了,而且你還可以使用error_reporting來設(shè)置顯示的錯(cuò)誤信息級(jí)別。
如果你需要增加腳本執(zhí)行時(shí)間,那么可以設(shè)置:
ini_set(“max_execution_time“, “180“);
那么腳本執(zhí)行時(shí)間就由默認(rèn)的30秒變?yōu)?80秒,當(dāng)然,你也可以使用set_time_limit()來設(shè)置。
其實(shí)你把ini_set和ini_get結(jié)合使的話,非常好。比如你想在配置文件里添加自己的包含文件路徑,但是你有沒有權(quán)限更改php.ini,那么你可以結(jié)合兩個(gè)函數(shù):
ini_set('include_path',ini_get('include_path').':/your_include_dir:');
* ini_get_all: 獲取所有的設(shè)置選項(xiàng)變量
把所有選項(xiàng)值以數(shù)組的形式返回,方便你當(dāng)phpinfo()無法使用的時(shí)候來使用。
手冊(cè)例子,比如:
〈?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: 回復(fù)配置文件默認(rèn)的值
就是回復(fù)配置文件默認(rèn)的值,當(dāng)你使用ini_set設(shè)置后可以使用它來恢復(fù)。
* ini_get():獲取配置文件的選項(xiàng)值
這個(gè)函數(shù)相信很多人都使過,就是獲取配置文件中某一個(gè)選項(xiàng)的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。
比如手冊(cè)中的例子:
〈?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“; //顯示錯(cuò)誤是否打開
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
這個(gè)函數(shù)主要是為了獲取配置文件,可以方便你很多操作。比如你想操作字符串過濾,但是又不清楚magic_quotes_gpc有沒有打開,所以你就可以這樣寫一個(gè)函數(shù):
/* 字符串過濾函數(shù) */
function stringFilter($str)
{
if (ini_get('magic_quotes_gpc)') {
return $str;
} else {
return addslashes($str);
}
}
當(dāng)然,如果你無法知道你的全局變量是否打開,也可以定制這樣的函數(shù):
/* 變量檢測(cè)函數(shù) */
function getGetVar($var)
{
if (ini_set('register_gobals')) {
return $var;
} else {
return $_GET['var'];
}
}
當(dāng)然,你可以做很多用途,自己慢慢體會(huì)。
* ini_set函數(shù):設(shè)置php.ini中的某些變量值
這個(gè)函數(shù)是設(shè)置選項(xiàng)中的值,在執(zhí)行函數(shù)后生效,腳本結(jié)束的時(shí)候,這個(gè)設(shè)置也失效。不是所有的選項(xiàng)都能被改函數(shù)設(shè)置的。具體那些值能夠設(shè)置,可以查看手冊(cè)中的列表。
就是能夠設(shè)置php.ini中的選項(xiàng)值比如,display_error選項(xiàng)關(guān)閉了,但是你要顯示程序中的錯(cuò)誤信息,方便你調(diào)試程序,那么就可以使用這個(gè)函數(shù):
ini_set(“display_errors“, “On“);
那么在你這個(gè)頁面的程序都會(huì)顯示錯(cuò)誤信息了,而且你還可以使用error_reporting來設(shè)置顯示的錯(cuò)誤信息級(jí)別。
如果你需要增加腳本執(zhí)行時(shí)間,那么可以設(shè)置:
ini_set(“max_execution_time“, “180“);
那么腳本執(zhí)行時(shí)間就由默認(rèn)的30秒變?yōu)?80秒,當(dāng)然,你也可以使用set_time_limit()來設(shè)置。
其實(shí)你把ini_set和ini_get結(jié)合使的話,非常好。比如你想在配置文件里添加自己的包含文件路徑,但是你有沒有權(quán)限更改php.ini,那么你可以結(jié)合兩個(gè)函數(shù):
ini_set('include_path',ini_get('include_path').':/your_include_dir:');
* ini_get_all: 獲取所有的設(shè)置選項(xiàng)變量
把所有選項(xiàng)值以數(shù)組的形式返回,方便你當(dāng)phpinfo()無法使用的時(shí)候來使用。
手冊(cè)例子,比如:
〈?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: 回復(fù)配置文件默認(rèn)的值
就是回復(fù)配置文件默認(rèn)的值,當(dāng)你使用ini_set設(shè)置后可以使用它來恢復(fù)。
您可能感興趣的文章:
- PHP 檢查擴(kuò)展庫或函數(shù)是否可用的代碼
- php smarty函數(shù)擴(kuò)展
- 編寫自己的php擴(kuò)展函數(shù)
- 非常實(shí)用的php彈出錯(cuò)誤警告函數(shù)擴(kuò)展性強(qiáng)
- PHP鏈接MySQL的常用擴(kuò)展函數(shù)
- php實(shí)現(xiàn)jQuery擴(kuò)展函數(shù)
- PHP7擴(kuò)展開發(fā)之基于函數(shù)方式使用lib庫的方法詳解
- PHP獲取和操作配置文件php.ini的幾個(gè)函數(shù)介紹
- PHP配置文件中最常用四個(gè)ini函數(shù)
- PHP最常用的ini函數(shù)分析 針對(duì)PHP.ini配置文件
- PHP parse_ini_file函數(shù)的應(yīng)用與擴(kuò)展操作示例
相關(guān)文章
用定制的PHP應(yīng)用程序來獲取Web服務(wù)器的狀態(tài)信息
用定制的PHP應(yīng)用程序來獲取Web服務(wù)器的狀態(tài)信息...2006-10-10PHP PDOStatement::fetchColumn講解
今天小編就為大家分享一篇關(guān)于PHP PDOStatement::fetchColumn講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01利用PHP創(chuàng)建動(dòng)態(tài)圖像
利用PHP創(chuàng)建動(dòng)態(tài)圖像...2006-10-10