-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathrealpath.xml
158 lines (150 loc) · 4.08 KB
/
realpath.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- $Author$ -->
<!-- EN-Revision: 0c9c2dd669fe9395eaa73d487fbd160f9057429a Maintainer: dallas Status: ready -->
<refentry xml:id="function.realpath" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>realpath</refname>
<refpurpose>返回规范化的绝对路径名</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>realpath</methodname>
<methodparam><type>string</type><parameter>path</parameter></methodparam>
</methodsynopsis>
<para>
<function>realpath</function> 扩展所有符号连接,并处理输入
<parameter>path</parameter> 中的 <literal>/./</literal>、<literal>/../</literal> 和多余的
<literal>/</literal>,并返回规范化的绝对路径名。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>path</parameter></term>
<listitem>
<para>
要处理的路径。
<note>
<para>
虽然必须提供路径,但该值可以是一个空字符串。
在这种情况下,该值将被解释为当前目录。
</para>
</note>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
成功时返回规范化的绝对路径名。返回的路径中没有符号连接(symbolic link)、<literal>/./</literal> 或 <literal>/../</literal> 成分。
例如 <literal>\</literal> 和 <literal>/</literal> 这样的尾随分隔符也将被删除。
</para>
<para>
<function>realpath</function> 失败时返回 &false;,例如文件不存在。
</para>
<note>
<para>
当前运行的脚本必须对要处理的路径中的每层目录都具有可执行权限,否则
<function>realpath</function> 将返回 &false;。
</para>
</note>
<note>
<para>
对于不区分大小写的文件系统,<function>realpath</function> 不一定会规范字符大小写。
</para>
</note>
<note>
<para>
<function>realpath</function> 函数不适用于 Phar 内的文件,因为该路径是虚拟路径,而不是真实路径。
</para>
</note>
<note>
<para>
在 Windows 上,目录的结点和符号链接仅扩展一级。
</para>
</note>
&fs.file.32bit;
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>realpath</function> 例子</title>
<programlisting role="php">
<![CDATA[
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
/etc/passwd
/tmp
]]>
</screen>
</example>
<example>
<title>Windows 上的 <function>realpath</function></title>
<para>
在 Windows 上,<function>realpath</function> 会将 unix 风格的路径改成 Windows 风格。
</para>
<programlisting role="php">
<![CDATA[
<?php
echo realpath('/windows/system32'), PHP_EOL;
echo realpath('C:\Program Files\\'), PHP_EOL;
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
C:\WINDOWS\System32
C:\Program Files
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>basename</function></member>
<member><function>dirname</function></member>
<member><function>pathinfo</function></member>
</simplelist>
</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:"~/.phpdoc/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
-->