18.13. Reading Configuration Files
Problem
You want to use configuration files to initialize settings in your programs.
Solution
Use parse_ini_file( )
:
$config = parse_ini_file('/etc/myapp.ini');
Discussion
The function parse_ini_file( )
reads configuration files structured like
PHP’s main
php.ini
file.
Instead of applying the settings in the configuration file to
PHP’s configuration, however,
parse_ini_file( )
returns the values from the file
in an array.
For example, when parse_ini_file( )
is given a
file with these contents:
; physical features eyes=brown hair=brown glasses=yes ; other features name=Susannah likes=monkeys,ice cream,reading
The array it returns is:
Array ( [eyes] => brown [hair] => brown [glasses] => 1 [name] => Susannah [likes] => monkeys,ice cream,reading )
Blank lines and lines that begin with ;
in the
configuration file are ignored. Other lines with
name=value
pairs are put into an array with the
name as the key and the value, appropriately, as the value. Words
such as on
and yes
as values
are returned as 1, and words such as off
and
no
are returned as the empty string.
To parse sections from the configuration file, pass
1
as a second argument to parse_ini_file( )
. Sections
are set off by words in square brackets in the file:
[physical] eyes=brown hair=brown glasses=yes [other] name=Susannah likes=monkeys,ice cream,reading
If this file is in /etc/myapp.ini, then:
$conf = parse_ini_file('/etc/myapp.ini',1);
Puts this array in
$conf
:
Array ( [physical] => Array ( ...
Get PHP Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.