ini_get

設定オプションの値を得る

説明

stringfalse ini_get(string $option)

成功時に、設定オプションの値を返します。

パラメータ

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_getphp.iniに格納されている値を そのままの形式で返します。整数表現に変換したりはしません。 これらの値に通常の算術的な関数を施すと予期しない結果を 得てしまいます。上の例では、省略形の表記から本来のバイト数に変換する PHP ソースのひとつの例を示しています。

注意:

ini_get は、"配列" 形式の ini オプション (pdo.dsn.* など) を読むことができません。この場合は false を返します。

参考

  • get_cfg_var
  • ini_get_all
  • ini_restore
  • ini_set