明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

php的幾個(gè)設(shè)置文件函數(shù)

[摘要]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ù)相信很多人都使過,就是獲取配置...
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)然,如果你無(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來設(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()無(wú)法使用的時(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ù)。


Author: heiyeluren
WriteTime: 2005-8-16