PHP最常用的ini函數(shù)分析 針對(duì)PHP.ini配置文件
* 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ò)誤是否打開 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ù)主要是為了獲取配置文件,可以方便你很多操作。比如你想操作字符串過(guò)濾,但是又不清楚magic_quotes_gpc有沒(méi)有打開,所以你就可以這樣寫一個(gè)函數(shù):
/* 字符串過(guò)濾函數(shù) */ function stringFilter($str) { if (ini_get('magic_quotes_gpc)') { return $str; } else { return addslashes($str); } } |
當(dāng)然,如果你無(wú)法知道你的全局變量是否打開,也可以定制這樣的函數(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è)頁(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ù)。
- PHP 檢查擴(kuò)展庫(kù)或函數(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庫(kù)的方法詳解
- PHP獲取和操作配置文件php.ini的幾個(gè)函數(shù)介紹
- PHP配置文件中最常用四個(gè)ini函數(shù)
- PHP 的幾個(gè)配置文件函數(shù)
- PHP parse_ini_file函數(shù)的應(yīng)用與擴(kuò)展操作示例
相關(guān)文章
Yii2使用駝峰命名的形式訪問(wèn)控制器(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇Yii2使用駝峰命名的形式訪問(wèn)控制器(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10php基礎(chǔ)知識(shí):類與對(duì)象(3) 構(gòu)造函數(shù)和析構(gòu)函數(shù)
php基礎(chǔ)知識(shí):類與對(duì)象(3) 構(gòu)造函數(shù)和析構(gòu)函數(shù)...2006-12-12php上傳圖片客戶端和服務(wù)器端實(shí)現(xiàn)方法
這篇文章主要介紹了php上傳圖片客戶端和服務(wù)器端實(shí)現(xiàn)方法,涉及php操作文件的技巧,涉及圖片后綴驗(yàn)證、文件重命名等常用方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03php使用curl_init()和curl_multi_init()多線程的速度比較詳解
這篇文章主要介紹了php使用curl_init()和curl_multi_init()多線程的速度比較,結(jié)合實(shí)例形式詳細(xì)分析了curl_init()和curl_multi_init()的具體使用方法及相關(guān)效率比較,需要的朋友可以參考下2018-08-08詳解php內(nèi)存管理機(jī)制與垃圾回收機(jī)制
在PHP中,沒(méi)有任何變量指向這個(gè)對(duì)象時(shí),這個(gè)對(duì)象就成為垃圾。PHP會(huì)將其在內(nèi)存中銷毀;這是PHP的GC垃圾處理機(jī)制。PHP的內(nèi)存管理,分為倆部分, 第一部分是PHP自身的內(nèi)存管理,而第二部分是zend_alloc中描寫的關(guān)于PHP自身的內(nèi)存管理。本文將詳細(xì)介紹這兩個(gè)內(nèi)容。2021-05-05php foreach循環(huán)中使用引用的問(wèn)題
本文來(lái)給大家介紹php foreach循環(huán)中使用引用問(wèn)題分析與注意事項(xiàng),希望此文章對(duì)各位同學(xué)會(huì)有所幫助2013-11-11解析php curl_setopt 函數(shù)的相關(guān)應(yīng)用及介紹
本篇文章是對(duì)php中的curl_setopt函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06