(PHP 4, PHP 5, PHP 7, PHP 8)
ini_get — 設定オプションの値を得る
option
設定オプションの名前。
成功した場合に設定オプションの値、
null
値の場合は空の文字列を返します。
その設定オプションが存在しない場合は false
を返します。
例1 ini_get() の例
<?php
/*
php.ini で以下のように設定されているものとします:
display_errors = On
register_globals = Off
post_max_size = 8M
*/
echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . (int) ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size + 1 = ' . (rtrim(ini_get('post_max_size'), 'KMG') + 1) . "\n";
echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size'));
function return_bytes($val)
{
$val = trim($val);
$num = (int) rtrim($val, 'KMG');
$last = strtolower($val[strlen($val) - 1]);
switch ($last) {
// 'G' も使えます
case 'g':
$num = $num * 1024 * 1024 * 1024;
break;
case 'm':
$num = $num * 1024 * 1024;
break;
case 'k':
$num *= 1024;
break;
}
return $num;
}
?>
上の例の出力は、 たとえば以下のようになります。
display_errors = 1 register_globals = 0 post_max_size = 8M post_max_size+1 = 9 post_max_size in bytes = 8388608
注意: boolean 値を探す場合
off
という boolean の ini 値は空文字列または "0" として返されます。 一方でon
の ini 値は "1" として返されます。 また、この関数はリテラル文字列で設定された INI 値を返すこともできます。
注意: メモリサイズの値を探す場合
upload_max_filesize のようなメモリサイズの値の場合、 php.ini上で省略形で格納されています。 ini_get()はphp.iniに格納されている値を そのままの形式で返します。整数表現に変換したりはしません。 これらの値に通常の算術的な関数を施すと予期しない結果を 得てしまいます。上の例では、省略形の表記から本来のバイト数に変換する PHP ソースのひとつの例を示しています。
注意:
ini_get() は、"配列" 形式の ini オプション (
pdo.dsn.*
など) を読むことができません。この場合はfalse
を返します。