Forum und email

parse_ini_file

(PHP 4, PHP 5)

parse_ini_file — 設定ファイルをパースする

説明

array parse_ini_file ( string $filename [, bool $process_sections ] )

parse_ini_file() は、 filename で指定した ini ファイルをロードし、 連想配列としてその設定値を返します。

初期ファイルの構造は、php.ini の構造と同じです。

パラメータ

filename

パースしたい ini ファイルのファイル名。

process_sections

直近の process_sections パラメータに TRUE を設定することにより、セクション名と設定が含まれた多次元の配列を 得ることができます。デフォルトでは、 process_sectionsFALSE です。

返り値

設定を連装配列形式で返します。

変更履歴

バージョン 説明
5.2.4 数字から始まるキーおよびセクション名は、PHP では 整数 として評価されます。 よって、0 で始まる数字は 8 進数として評価され、0x で始まる数字は 16 進数として評価されます。
5.0.0 値をダブルクォートで囲めばその中で改行を使用することもできます。
4.2.1 この関数は セーフモードopen_basedir の影響を受けます。

Example#1 sample.ini の内容

; これは設定ファイルのサンプルです。
; php.ini と同様、';' で始まる行はコメントです。

[first_section]
one = 1
five = 5
animal = BIRD

[second_section]
path = "/usr/local/bin"
URL = "https://www.example.com/~username"

Example#2 parse_ini_file() の例

定数も ini ファイル上でパースされます。 そのため、parse_ini_file() をコールする前に ini ファイル上の値として定数を定義した場合、返り値に統合されます。 ini ファイル上の値だけが評価されます。以下は例です:

<?php

define
('BIRD''Dodo bird');

// セクションを無視してパースします。
$ini_array parse_ini_file("sample.ini");
print_r($ini_array);

// セクションを意識してパースします。
$ini_array parse_ini_file("sample.ini"true);
print_r($ini_array);

?>

上の例の出力は、たとえば 以下のようになります。

Array
(
    [one] => 1
    [five] => 5
    [animal] => Dodo bird
    [path] => /usr/local/bin
    [URL] => https://www.example.com/~username
)
Array
(
    [first_section] => Array
        (
            [one] => 1
            [five] => 5
            [animal] = Dodo bird
        )

    [second_section] => Array
        (
            [path] => /usr/local/bin
            [URL] => https://www.example.com/~username
        )

)

注意

注意: この関数は、php.ini ファイルには何もしません。 このファイルはスクリプトを実行している時には既に処理されています。 この関数は、アプリケーション個有の設定ファイルを読み込む際に使用可能です。

注意: ini ファイル上の値に英数字ではないものがある場合、 ダブルクォート(")で囲う必要があります。

注意: ini ファイル上でキーとして使ってはいけない単語があります。 それらは null, yes, no, true, false などが含まれます。 null, no および false は "" となり、yes および true は "1" となります。 次の文字 {}|&~![()" は、キーで使ってはいけません。 また、値の中で特別な意味を持ちます。