[PHP] W jaki sposób odczytać plik konfiguracyjny INI ?

Programowanie

Często pisane aplikacje oprócz standardowych skryptów zawierają dodatkowe pliki konfiguracyjne, które zawierają takie podstawowe dane jak logi, hasło oraz nazwę bazy danych. Oczywiście pliki te mogą przechowywać dowolne dane.

; pierwszy plik konfiguracyjny
db_login = admin
db_passwd = admin_passwd
db_name = test

Jak widać plik jest bardzo prosty. Teraz zajmiemy się skryptem odczytującym powyższy plik.

$conf = parse_ini_file('conf.ini');
//wypisanie zmiennych oraz wartości
foreach($ini as $klucz=>$wartosc) 
{
    echo $klucz.' - '.$wartosc.'<br />';
}
echo '<div>-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-</div>';
//wypisanie wartości elementu db_login
echo $conf["db_login"];

Odczyt pliku INI z sekcjami

; drugi plik konfiguracyjny
[databases]
db_login  = admin
db_passwd = admin_passwd
db_name   = test
[page]
title = Jakiś przykładowy tytuł strony

W tym pliku jak widzimy zostały umieszczone dwie sekcje: databases dotycząca konfiguracji bazy danych oraz page dotycząca ustawień strony. Do odczytu powyższego liku możemy użyć poprzedniego skryptu jednak nie będziemy posiadali informacji na temat sekcji. Aby więc odczytać plik z sekcjami użyjemy poniższego skryptu:

$conf = parse_ini_file('conf2.ini', true);

//wypisanie zmiennych oraz wartości
foreach($ini as $nazwaSekcji => $elementy) 
{
    echo $nazwaSekcji.'<br />';

    foreach($elementy as $klucz => $wartosc) 
    {
        echo $klucz.' - '.$wartosc.'<br />';
    }
}

echo '<div>-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-</div>';

//wypisanie wartości elementu db_login z sekcji databases
echo $conf["databases"]["db_login"];