parse_ini_file

(PHP 4 )

parse_ini_file -- Traite un fichier de configuration

Description

array parse_ini_file ( string filename [, bool process_sections])

parse_ini_file() charge le fichier filename et retourne les configuration qui s'y trouve sous forme d'un tableau associatif. En passant le deuxième paramètre optionnel à process_sections, vous obtiendrez un tableau multi-dimensionnel, avec les noms des sections. La valeur par défaut de ce paramètre est FALSE

Note : Cette fonction n'a rien a voir avec le fichier php.ini. Ce dernier a déjà était traité lorsque vous commencez a exécuter votre script. Cette fonction peut vous permettre de lire vos propres fichiers de configuration.

La structure des fichiers de configuration lus est similaire à celle de php.ini.

Note : Si une valeur du fichier .ini contient des données non alphanumérique, il faut la protéger en la plaçant entre guillemets doubles (").

Note : Depuis PHP 4.2.1 cette fonction est aussi affectée par le safe mode et open_basedir.

La structure du fichier .ini est similaire à celle du fichier php.ini.

Les constantes peuvent aussi être utilisées dans le fichier .ini, ce qui fait que si vous définissez une constante avant d'exécuter parse_ini_file(), elle sera intégrée dans les résultats. Seules les valeurs de configuration sont remplacées par leur équivalent en constantes. Par exemple :

Exemple 1. Contenu de exemple.ini

; Ceci est un fichier de configuration
; Les commentaires commencent par ';', comme dans php.ini

[premiere_section]
un = 1
cinq = 5
animal = oiseau

[seconde_section]
chemin = /usr/local/bin
URL = "http://www.exemple.com/~utilisateur"

Exemple 2. Exemple avec parse_ini_file()

<?php

define ('oiseau', 'dodu dodo');

// Analyse sans les sections
$ini_array = parse_ini_file("exemple.ini");
print_r($ini_array);

// Analyse avec les sections
$ini_array = parse_ini_file("exemple.ini", TRUE);
print_r($ini_array);

?>

Cet exemple va produire :

Array
(
    [un] => 1
    [cinq] => 5
    [animal] => dodu dodo
    [chemin] => /usr/local/bin
    [URL] => http://www.example.com/~username
)
Array
(
    [premiere_section] => Array
        (
            [un] => 1
            [cinq] => 5
            [animal] => dodu dodo
        )

    [seconde_section] => Array
        (
            [chemin] => /usr/local/bin
            [URL] => http://www.exemple.com/~utilisateur
        )

)