parse_ini_fileParse a configuration file
&reftitle.description;
arrayparse_ini_filestringfilenameboolprocess_sections&false;intscanner_modeINI_SCANNER_NORMALparse_ini_file loads in the
ini file specified in filename,
and returns the settings in it in an associative array.
The structure of the ini file is the same as the &php.ini;'s.
&reftitle.parameters;
filename
The filename of the ini file being parsed.
process_sections
By setting the process_sections
parameter to &true;, you get a multidimensional array, with
the section names and settings included. The default
for process_sections is &false;
scanner_mode
Can either be INI_SCANNER_NORMAL (default) or
INI_SCANNER_RAW. If INI_SCANNER_RAW
is supplied, then option values will not be parsed.
&ini.scanner.typed;
&reftitle.returnvalues;
The settings are returned as an associative array on success,
and &false; on failure.
&reftitle.changelog;
&Version;&Description;7.0.0
Hash marks (#) are no longer recognized as comments.
5.6.1
Added new INI_SCANNER_TYPED mode.
5.3.0
Added optional scanner_mode parameter.
Single quotes may now be used around variable assignments.
Hash marks (#) should no longer be used as comments
and will throw a deprecation warning if used.
5.2.7
On syntax error this function will return &false; rather than an empty
array.
5.2.4
Keys and section names consisting of numbers are now evaluated as PHP
integers thus numbers
starting by 0 are evaluated as octals and numbers starting by 0x are
evaluated as hexadecimals.
&reftitle.examples;
Contents of sample.iniparse_ini_file example
Constants may also be parsed
in the ini file so if you define a constant as an ini value before
running parse_ini_file, it will be integrated into
the results. Only ini values are evaluated. For example:
]]>
&example.outputs.similar;
1
[five] => 5
[animal] => Dodo bird
[path] => /usr/local/bin
[URL] => http://www.example.com/~username
[phpversion] => Array
(
[0] => 5.0
[1] => 5.1
[2] => 5.2
[3] => 5.3
)
[urls] => Array
(
[svn] => http://svn.php.net
[git] => http://git.php.net
)
)
Array
(
[first_section] => Array
(
[one] => 1
[five] => 5
[animal] => Dodo bird
)
[second_section] => Array
(
[path] => /usr/local/bin
[URL] => http://www.example.com/~username
)
[third_section] => Array
(
[phpversion] => Array
(
[0] => 5.0
[1] => 5.1
[2] => 5.2
[3] => 5.3
)
[urls] => Array
(
[svn] => http://svn.php.net
[git] => http://git.php.net
)
)
)
]]>
parse_ini_file parsing a php.ini file
]]>
&example.outputs.similar;
&reftitle.notes;
This function has nothing to do with the
&php.ini; file. It is already processed by
the time you run your script. This function can be used to
read in your own application's configuration files.
If a value in the ini file contains any non-alphanumeric
characters it needs to be enclosed in double-quotes (").
There are reserved words which must not be used as keys for
ini files. These include: null, yes,
no, true, false,
on, off, none.
Values null, off, no and
false result in "", and values
on, yes and true result
in "1", unless INI_SCANNER_TYPED mode is used (as of PHP 5.6.1).
Characters ?{}|&~!()^" must not be used anywhere in
the key and have a special meaning in the value.
Entries without an equal sign are ignored. For example, "foo"
is ignored whereas "bar =" is parsed and added with an empty
value. For example, MySQL has a "no-auto-rehash" setting
in my.cnf that does not take a value, so
it is ignored.
&reftitle.seealso;
parse_ini_string