mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-19 10:28:54 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@175791 c90b9560-bf6c-de11-be94-00142212c4b1
167 lines
4.4 KiB
XML
167 lines
4.4 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.19 $ -->
|
|
<!-- splitted from ./en/functions/filesystem.xml, last change in rev 1.87 -->
|
|
<refentry id="function.parse-ini-file">
|
|
<refnamediv>
|
|
<refname>parse_ini_file</refname>
|
|
<refpurpose>Parse a configuration file</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>array</type><methodname>parse_ini_file</methodname>
|
|
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
|
<methodparam choice="opt"><type>bool</type><parameter>process_sections</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
<function>parse_ini_file</function> loads in the
|
|
ini file specified in <parameter>filename</parameter>,
|
|
and returns the settings in it in an associative array.
|
|
By setting the last <parameter>process_sections</parameter>
|
|
parameter to &true;, you get a multidimensional array, with
|
|
the section names and settings included. The default
|
|
for <parameter>process_sections</parameter> is &false;
|
|
</para>
|
|
<note>
|
|
<para>
|
|
This function has nothing to do with the
|
|
&php.ini; file. It is already processed,
|
|
the time you run your script. This function can be used to
|
|
read in your own application's configuration files.
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
If a value in the ini file contains any non-alphanumeric
|
|
characters it needs to be enclosed in double-quotes (").
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<simpara>
|
|
Since PHP 4.2.1 this function is also affected by &safemode;
|
|
and <link linkend="ini.open-basedir">open_basedir</link>.
|
|
</simpara>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
As of PHP 5.0 this function also handles new lines in values.
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<simpara>
|
|
There are reserved words which must not be used as keys for
|
|
ini files. These include: null, yes, no, true, and false.
|
|
</simpara>
|
|
</note>
|
|
<para>
|
|
The structure of the ini file is similar to that of
|
|
the &php.ini;'s.
|
|
</para>
|
|
<para>
|
|
<link linkend="language.constants">Constants</link> may also be parsed
|
|
in the ini file so if you define a constant as an ini value before
|
|
running <function>parse_ini_file</function>, it will be integrated into
|
|
the results. Only ini values are evaluated. For example:
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Contents of <filename>sample.ini</filename></title>
|
|
<programlisting>
|
|
<![CDATA[
|
|
; This is a sample configuration file
|
|
; Comments start with ';', as in php.ini
|
|
|
|
[first_section]
|
|
one = 1
|
|
five = 5
|
|
animal = BIRD
|
|
|
|
[second_section]
|
|
path = /usr/local/bin
|
|
URL = "http://www.example.com/~username"
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title><function>parse_ini_file</function> example</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
define('BIRD', 'Dodo bird');
|
|
|
|
// Parse without sections
|
|
$ini_array = parse_ini_file("sample.ini");
|
|
print_r($ini_array);
|
|
|
|
// Parse with sections
|
|
$ini_array = parse_ini_file("sample.ini", true);
|
|
print_r($ini_array);
|
|
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
Would produce:
|
|
</para>
|
|
<screen>
|
|
<![CDATA[
|
|
Array
|
|
(
|
|
[one] => 1
|
|
[five] => 5
|
|
[animal] => Dodo bird
|
|
[path] => /usr/local/bin
|
|
[URL] => http://www.example.com/~username
|
|
)
|
|
Array
|
|
(
|
|
[first_section] => Array
|
|
(
|
|
[one] => 1
|
|
[five] => 5
|
|
[animal] = Dodo bird
|
|
)
|
|
|
|
[second_section] => Array
|
|
(
|
|
[path] => /usr/local/bin
|
|
[URL] => http://www.example.com/~username
|
|
)
|
|
|
|
)
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Keys and section names consisting from numbers are evaluated as PHP
|
|
<link linkend="language.types.integer">integers</link> thus numbers
|
|
starting by 0 are evaluated as octals and numbers starting by 0x are
|
|
evaluated as hexadecimals.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../../../../manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|