今まで気にしたこともなかったのですが、今日同僚から聞いて早速見てみました。
php の設定関数は、主に設定ファイルの操作を目的としたいくつかの ini_* 関数です。実際には、ini_get、ini_set、ini_get_all、ini_restore の 4 つの関数があります。個人的に最も便利なのは、ini_set と ini_get です。
* ini_get(): 設定ファイルのオプション値を取得します
設定ファイル内のオプションの値を取得するこの関数は、true 値の場合は 1、false 値の場合は 0、および の場合は 0 を返します。 false 値の場合は文字列を返します。
たとえば、マニュアルの例:
/*
php.ini には次の設定が含まれています:
display_errors = オン
register_globals = オフ
post_max_size = 8M
*/
echo 'display_errors = ' .ini_get('display_errors') //エラー表示がオンかどうか
;
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) .
?>
出力:
表示エラー = 1
register_globals = 0
post_max_size = 8M
post_max_size 1 = 9
この関数は主に構成ファイルを取得するために使用され、これにより多くの操作が容易になります。たとえば、文字列フィルタリングを操作したいが、magic_quotes_gpc がオンになっているかどうかわからないため、次のような関数を作成できます:
/* 文字列フィルター関数 */
関数 stringFilter($str)
{
if (ini_get('magic_quotes_gpc)') {
$str;
を返します
} その他 {
return addslashes($str);
}
}
もちろん、グローバル変数が開いているかどうかを知る方法がない場合は、次のように関数をカスタマイズすることもできます:
/* 変数検出関数 */
関数getGetVar($var)
{
if (ini_set('register_gobals')) {
$var を返します;
} その他 {
$_GET['var'] を返します;