<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect2 id="zend.filter.set.realpath">
    <title>RealPath(日本語)</title>

    <para>
        このフィルタは与えられたリンクとパス名を解決して、正規化された絶対パス名を返します。
    </para>

    <sect3 id="zend.filter.set.realpath.options">
        <title>Zend_Filter_RealPath でサポートされるオプション</title>

        <para>
            <classname>Zend_Filter_RealPath</classname> では、下記のオプションがサポートされます。
        </para>

        <itemizedlist>
            <listitem>
                <para>
                    <emphasis><property>exists</property></emphasis>:
                    このオプションの既定値は <constant>TRUE</constant> で、
                    与えられたパスが本当に存在するかどうかチェックします。
                </para>
            </listitem>
        </itemizedlist>
    </sect3>

    <sect3 id="zend.filter.set.realpath.basic">
        <title>基本の使い方</title>

        <para>
            与えられたパス名のリンク全てで完全パスが返されます。
            '<filename>/./</filename>' や '<filename>/../</filename>' への参照、
            及び、入力パスの余分な '<filename>/</filename>' 記号は取り除かれます。
            結果のパスにはいかなるシンボリックリンクも無く、
            '<filename>/./</filename>' や '<filename>/../</filename>' 文字もありません。
        </para>

        <para>
            たとえばファイルが存在しない場合、
            <classname>Zend_Filter_RealPath</classname>は失敗すると<constant>FALSE</constant>を返します。
            もし最後のパスのコンポーネントだけが存在しない場合、
            <acronym>BSD</acronym> システムでは<classname>Zend_Filter_RealPath</classname>は失敗しますが、
            他のシステムでは<constant>FALSE</constant>を返します。
        </para>

        <programlisting language="php"><![CDATA[
$filter = new Zend_Filter_RealPath();
$path   = '/www/var/path/../../mypath';
$filtered = $filter->filter($path);

// '/www/mypath' を返します。
]]></programlisting>
    </sect3>

    <sect3 id="zend.filter.set.realpath.exists">
        <title>存在しないパス</title>

        <para>
            それらが存在しないとき、
            たとえば、生成したいパスのために実際のパスを取得したいとき、
            パスを得るためにしばしば役に立ちます。
            初期化で<constant>FALSE</constant>を渡すこともできますし、
            それを設定するために<methodname>setExists()</methodname>を使うこともできます。
        </para>

        <programlisting language="php"><![CDATA[
$filter = new Zend_Filter_RealPath(false);
$path   = '/www/var/path/../../non/existing/path';
$filtered = $filter->filter($path);

// file_exists または realpath が false を返すときでも
// '/www/non/existing/path' を返します。
]]></programlisting>
    </sect3>
</sect2>
