parse_ini_file
(PHP 4, PHP 5)
parse_ini_file — Analyse un fichier de configuration
Description
$filename
[, bool $process_sections
= false
[, int $scanner_mode
= INI_SCANNER_NORMAL
]] )
parse_ini_file() charge le fichier
filename
et retourne les
configurations qui s'y trouvent sous forme d'un tableau
associatif.
La structure des fichiers de configuration lus est similaire à celle de php.ini.
Liste de paramètres
-
filename
-
Le nom du fichier de configuration à analyser.
-
process_sections
-
En passant le deuxième paramètre optionnel à
process_sections
, vous obtiendrez un tableau multidimensionnel avec les noms des sections. La valeur par défaut de ce paramètre estFALSE
-
scanner_mode
-
Peut être
INI_SCANNER_NORMAL
(défaut) ouINI_SCANNER_RAW
. SiINI_SCANNER_RAW
est fourni, alors les valeurs en option ne seront pas analysées.
Valeurs de retour
La configuration est retournée sous la forme d'un tableau associatif
en cas de succès, et FALSE
si une erreur survient.
Historique
Version | Description |
---|---|
5.3.0 |
Ajout du paramètre optionnel scanner_mode .
Les guillemets simples doivent maintenant être utilisés
autour des assignements de variables. Le caractère dièse
(#) ne peut plus être utilisé comme
commentaire, et émettra une alerte si vous l'utilisez.
|
5.2.7 |
En cas d'erreur de syntaxe, la fonction retourne maintenant FALSE
au lieu d'un tableau vide.
|
5.2.4 | Les noms de section et les clés, composés de numéros, sont maintenant évalués comme des entiers, ceux commençant par un 0 seront évalués comme des octales, et ceux commençant par 0x, comme des hexadécimaux. |
5.0.0 | Les valeurs entourées par des guillemets, peuvent contenir des nouvelles lignes. |
4.2.1 | Cette fonction est maintenant affectée par le safe mode et l'open_basedir. |
Exemples
Exemple #1 Contenu du fichier sample.ini
<?php define('BIRD', 'Dodo bird'); // Analyse sans sections $ini_array = parse_ini_file("sample.ini"); print_r($ini_array); // Analyse avec sections $ini_array = parse_ini_file("sample.ini", true); print_r($ini_array); ?>
<?php // Une fonction simple pour comparer les résultats ci-dessous function yesno($expression) { return($expression ? 'Yes' : 'No'); } // Lit le chemin du php.ini en utilisant php_ini_loaded_file() // cette fonction est disponible depuis PHP 5.2.4 $ini_path = php_ini_loaded_file(); // Analyse de php.ini $ini = parse_ini_file($ini_path); // Affichage et comparatif des valeurs. Notez que get_cfg_var() // va donner les mêmes résultats entre les résultats analysés et chargés echo '(analysé) magic_quotes_gpc = ' . yesno($ini['magic_quotes_gpc']) . PHP_EOL; echo '(chargé ) magic_quotes_gpc = ' . yesno(get_cfg_var('magic_quotes_gpc')) . PHP_EOL; ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
(analysé) magic_quotes_gpc = Yes (chargé ) magic_quotes_gpc = Yes
Notes
Note:
Cette fonction n'a rien a voir avec le fichier php.ini. Ce dernier a déjà été traité lorsque vous commencez à exécuter votre script. Cette fonction peut vous permettre de lire vos propres fichiers de configuration.
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: Il existe 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, false, on et off. 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.