時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(1)
php的配置函數(shù)就是幾個(gè)ini_*的函數(shù),主要是針對(duì)配置文件的操作,其實(shí)就四個(gè)函數(shù):ini_get、ini_set、ini_get_all、ini_restore。個(gè)人感覺(jué)最有用的就是ini_set和ini_get。
* ini_get():獲取配置文件的選項(xiàng)值
這個(gè)函數(shù)相信很多人都使過(guò),就是獲取配置文件中某一個(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ò)誤是否打開(kāi) echo 'register_globals = ' . ini_get('register_globals') . "\n";//全局變量是否打開(kāi) 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ù)主要是為了獲取配置文件,可以方便你很多操作。比如你想操作字符串過(guò)濾,但是又不清楚magic_quotes_gpc有沒(méi)有打開(kāi),所以你就可以這樣寫(xiě)一個(gè)函數(shù):
/* 字符串過(guò)濾函數(shù) */ function stringFilter($str) { if (ini_get('magic_quotes_gpc)') { return $str; } else { return addslashes($str); } } |
當(dāng)然,如果你無(wú)法知道你的全局變量是否打開(kāi),也可以定制這樣的函數(shù):
/* 變量檢測(cè)函數(shù) */ function getGetVar($var) { if (ini_set('register_gobals')) { return $var; } else { return $_GET['var']; } } |
當(dāng)然,你可以做很多用途,自己慢慢體會(huì)。
#p#副標(biāo)題#e#
* 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è)頁(yè)面的程序都會(huì)顯示錯(cuò)誤信息了,而且你還可以使用error_reporting來(lái)設(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()來(lái)設(shè)置。
其實(shí)你把ini_set和ini_get結(jié)合使的話,非常好。比如你想在配置文件里添加自己的包含文件路徑,但是你有沒(méi)有權(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()無(wú)法使用的時(shí)候來(lái)使用。
手冊(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è)置后可以使用它來(lái)恢復(fù)。
關(guān)鍵詞標(biāo)簽:PHP配置,PHP最常用的i
相關(guān)閱讀
熱門(mén)文章 plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql developer連接數(shù)據(jù)庫(kù)方法 2021年最好用的10款php開(kāi)發(fā)工具推薦 php利用淘寶IP庫(kù)獲取用戶ip地理位置 在 PHP 中使用命令行工具
人氣排行 詳解ucenter原理及第三方應(yīng)用程序整合思路、方法 plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql developer連接數(shù)據(jù)庫(kù)方法 PHP中防止SQL注入攻擊 PHP會(huì)話Session的具體使用方法解析 PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的解決辦法 PHP如何清空mySQL數(shù)據(jù)庫(kù) CakePHP程序員必須知道的21條技巧 PHP采集圖片實(shí)例(PHP采集)