PHP の設定関数は、主に設定ファイルの操作を目的としたいくつかの ini_* 関数です。実際には、ini_get、ini_set、ini_get_all、ini_restore の 4 つの関数があります。個人的に最も便利なのは、ini_set と ini_get です。
* ini_get(): 設定ファイルのオプション値を取得する
設定ファイル内のオプションの値を取得するこの関数は、多くの人が使用したことがあると思います。 true 値の場合は 1 を返し、false 値の場合は 0 を返し、文字列の場合は文字列を返します。
たとえば、マニュアルの例:
/*
php.ini には次の設定が含まれています:
display_errors = On
register_globals = Off
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";// submit
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) .
?>
出力:
display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
この関数は主に構成ファイルを取得するために使用され、これにより多くの操作が容易になります。たとえば、文字列フィルタリングを操作したいが、magic_quotes_gpc がオンになっているかどうかわからないため、次のような関数を作成できます。
/* 文字列フィルタ関数*/
function stringFilter( $str)
{
if (ini_get('magic_quotes_gpc)') {
return $str;
} else {
return addedlashes($str);
}
}
もちろん、グローバル変数が開いているかどうかを知る方法がない場合は、次のような関数をカスタマイズすることもできます:
/* 変数検出関数*/
function getGetVar($var)
{
if (ini_set('register_gobals')) {
return $var;
} else {
return $_GET['var'];
}
}
もちろん、さまざまな用途に使用できますので、ご自身でゆっくりと体験してください。
* ini_set 関数: php.ini に特定の変数値を設定します。
この関数は、関数の実行後に有効になります。の場合、この設定も無効になります。すべてのオプションが関数で設定できるわけではありません。設定できる具体的な値はマニュアルの一覧で確認できます。
は、php.ini でオプション値を設定できるようにするためのものです。たとえば、display_error オプションがオフになっているが、プログラムのデバッグを容易にするためにプログラム内にエラー メッセージを表示したい場合は、次のように使用できます。この関数:
ini_set( "display_errors", "On");
すると、ページ上のプログラムでエラー情報が表示され、error_reporting を使用してエラー情報のレベルを設定することもできます。表示されます。
スクリプトの実行時間を増やす必要がある場合は、次のように設定できます:
ini_set("max_execution_time", "180");
その場合、スクリプトの実行時間は次のようになります。デフォルトの 30 秒は 180 秒になります。もちろん、set_time_limit() を使用して設定することもできます。
実際、ini_set と ini_get を組み合わせると非常に優れています。たとえば、独自のインクルード ファイル パスを設定ファイルに追加したいが、php.ini を変更する権限がある場合は、次の 2 つの関数を組み合わせることができます:
ini_set('include_path',ini_get( 'include_path') .':/your_include_dir:');
* ini_get_all: すべての設定オプション変数を取得します
すべてのオプション値を配列形式で返します。 phpinfo() が使用できない場合に便利です。
マニュアルの例:
$inis = ini_get_all();
print_r($inis);
?>
(
[allow_call_time_pass_reference] => 配列
(
[global_value] => 1
[local_value] => 1
[アクセス] = & gt; 6
)
[Allow_url_fopen] = & GT; 配列
(
[グローバル値] = & GT; 1
[ローカル値] = & gt ; 1
[access] => 7
)
…
)