php.iniで設定したオプションの値を取得して条件分岐する方法

あるWeb制作案件で、php.iniで設定したオプションの値によって条件分岐することがありました。その場合は「ini_get」を使うと便利でした。

以下はオプション「allow_url_fopen」の値で処理を分けるコードの一例です。

allow_url_fopenが有効かどうかを判別して処理を分ける

<?php
 if ( ini_get( 'allow_url_fopen' ) ) {
  //有効の場合
 } else {
  //無効の場合
 }
?>

allow_url_fopenが有効な場合は「1」が取得できます(無効の場合は空の文字列)。

オプションが存在しない場合や配列形式のオプションは取得できずにfalseとなります。

おまけ

以下も一例ですが、ファイルのアップロード容量の上限を指定するオプション「post_max_size」の値を取得してみます。

ファイルのアップロード容量の上限を取得

<?php
 echo ini_get( 'post_max_size' );
?>

出力結果

8M

「ini_get」を使って取得したバイト数で何かを計算するときなどは、正確なバイト数に変換しないと誤差が出るので注意ですね。

allow_url_fopenのように「オプションが使えるかどうか」みたいな判別をするなら、今回の方法は使いやすいなあと思いました。

著者:bouya Imamura