(PHP 4, PHP 5)
parse_ini_file — Traite un fichier de configuration
parse_ini_file() charge le fichier filename et retourne les configurations qui s'y trouvent 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ériques, 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 .
Note: Depuis PHP 5.0.0, cette fonction gère aussi les nouvelles lignes dans les valeurs.
Note: Il y a des mots réservés qui ne doivent pas être utilisés en tant que clés dans les fichiers ini. Cela inclut : null , yes , no , true et false . Les valeurs null , no et false donnent "", yes et true donnent "1". Les caractères {}|&~![()" ne doivent pas être utilisés n'importe où dans la clé et ont une signification spéciale dans la valeur.
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 808. Contenu de sample.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.example.com/~utilisateur"
Exemple 809. 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); ?>
L'exemple ci-dessus va afficher :
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.example.com/~utilisateur ) )
Si les clés et les noms des sections sont des nombres, ils seront évalués comme des entier PHP. Les nombres commençant par 0 sont évalués comme octal et les nombres commençant par 0x sont évalués comme hexadécimal.