Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 3431

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>parse_ini_file</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="Filesystem 文件系统函数"
HREF="ref.filesystem.html"><LINK
REL="PREVIOUS"
TITLE="move_uploaded_file"
HREF="function.move-uploaded-file.html"><LINK
REL="NEXT"
TITLE="pathinfo"
HREF="function.pathinfo.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="refentry"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PHP 手册</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="function.move-uploaded-file.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.pathinfo.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.parse-ini-file"
></A
>parse_ini_file</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN54414"
></A
><P
>    (PHP 4, PHP 5)</P
>parse_ini_file&nbsp;--&nbsp;解析一个配置文件</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN54417"
></A
><H2
>说明</H2
>array <B
CLASS="methodname"
>parse_ini_file</B
> ( string filename [, bool process_sections] )<BR
></BR
><P
>&#13;   <B
CLASS="function"
>parse_ini_file()</B
> 载入一个由
   <CODE
CLASS="parameter"
>filename</CODE
> 指定的 ini
   文件,并将其中的设置作为一个联合数组返回。如果将最后的
   <CODE
CLASS="parameter"
>process_sections</CODE
> 参数设为
   <TT
CLASS="constant"
><B
>TRUE</B
></TT
>,将得到一个多维数组,包括了配置文件中每一节的名称和设置。<CODE
CLASS="parameter"
>process_sections</CODE
>
   的默认值是 <TT
CLASS="constant"
><B
>FALSE</B
></TT
>。
  </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
    本函数和 <TT
CLASS="filename"
>php.ini</TT
>
    文件没有关系,该文件在运行脚本时就已经处理过了。本函数可以用来读取你自己的应用程序的配置文件。
   </P
></BLOCKQUOTE
></DIV
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
    如果 ini 文件中的值包含任何非字母数字的字符,需要将其括在双引号中(")。
   </P
></BLOCKQUOTE
></DIV
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
    自 PHP 4.2.1 其本函数也受到<A
HREF="features.safe-mode.html#ini.safe-mode"
>安全模式</A
>和
    <A
HREF="features.safe-mode.html#ini.open-basedir"
>open_basedir</A
> 的影响。
   </P
></BLOCKQUOTE
></DIV
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
    自 PHP 5.0 版本开始,该函数也处理选项值内的新行。
   </P
></BLOCKQUOTE
></DIV
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
    有些保留字不能作为 ini 文件中的键名,包括:null,yes,no,true 和 false。值为
    null,no 和 false 等效于 "",值为 yes 和 true 等效于 "1"。字符
    <TT
CLASS="literal"
>{}|&#38;~![()"</TT
> 也不能用在键名的任何地方,而且这些字符在选项值中有着特殊的意义。
   </P
></BLOCKQUOTE
></DIV
><P
>&#13;   ini 文件的结构和 <TT
CLASS="filename"
>php.ini</TT
> 的相似。
  </P
><P
>&#13;   <A
HREF="language.constants.html"
>常量</A
>也可以在 ini
   文件中被解析,因此如果在运行 <B
CLASS="function"
>parse_ini_file()</B
>
   之前定义了常量作为 ini 的值,将会被集成到结果中去。只有 ini
   的值会被求值。例如:
  </P
><P
>&#13;    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN54455"
></A
><P
><B
>例 1. <TT
CLASS="filename"
>sample.ini</TT
> 的内容</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>; 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"</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN54460"
></A
><P
><B
>例 2. <B
CLASS="function"
>parse_ini_file()</B
> 例子</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /><br />define</font><font color="#007700">(</font><font color="#DD0000">'BIRD'</font><font color="#007700">, </font><font color="#DD0000">'Dodo bird'</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Parse without sections<br /></font><font color="#0000BB">$ini_array </font><font color="#007700">= </font><font color="#0000BB">parse_ini_file</font><font color="#007700">(</font><font color="#DD0000">"sample.ini"</font><font color="#007700">);<br /></font><font color="#0000BB">print_r</font><font color="#007700">(</font><font color="#0000BB">$ini_array</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Parse with sections<br /></font><font color="#0000BB">$ini_array </font><font color="#007700">= </font><font color="#0000BB">parse_ini_file</font><font color="#007700">(</font><font color="#DD0000">"sample.ini"</font><font color="#007700">, </font><font color="#0000BB">true</font><font color="#007700">);<br /></font><font color="#0000BB">print_r</font><font color="#007700">(</font><font color="#0000BB">$ini_array</font><font color="#007700">);<br /><br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
><P
>上例将输出:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>Array
(
    [one] =&#62; 1
    [five] =&#62; 5
    [animal] =&#62; Dodo bird
    [path] =&#62; /usr/local/bin
    [URL] =&#62; http://www.example.com/~username
)
Array
(
    [first_section] =&#62; Array
        (
            [one] =&#62; 1
            [five] =&#62; 5
            [animal] = Dodo bird
        )

    [second_section] =&#62; Array
        (
            [path] =&#62; /usr/local/bin
            [URL] =&#62; http://www.example.com/~username
        )

)</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
><P
>&#13;   由数字组成的键名和小节名会被 PHP 当作<A
HREF="language.types.integer.html"
>整数</A
>来处理,因此以
   0 开头的数字会被当作八进制而以 0x 开头的会被当作十六进制。
  </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="function.move-uploaded-file.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>起始页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="function.pathinfo.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>move_uploaded_file</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.filesystem.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>pathinfo</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>