-
Notifications
You must be signed in to change notification settings - Fork 39
/
dirname.xml
199 lines (191 loc) · 5.59 KB
/
dirname.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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 67ca0d930c95a85ea49aff456409409f6ae06c1b Maintainer: khp Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: 714d8e584c8425a0139b082a7771961734e0ece9 Reviewer: samesch -->
<!-- CREDITS: florianschmidt -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.dirname">
<refnamediv>
<refname>dirname</refname>
<refpurpose>Liefert den Pfad des übergeordneten Verzeichnisses</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>dirname</methodname>
<methodparam><type>string</type><parameter>path</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>levels</parameter><initializer>1</initializer></methodparam>
</methodsynopsis>
<para>
Aus einer übergebenen Zeichenkette, die den Pfad zu einer Datei oder einem
Verzeichnis enthält, gibt diese Funktion den Pfad des Verzeichnisses zurück,
welches <parameter>levels</parameter> Ebenen über dem angegebenen liegt.
</para>
<note>
<para>
<function>dirname</function> arbeitet nur mit der Eingabezeichenkette
und beachtet nicht das eigentliche Dateisystem oder Pfadbestandteile wie
etwa "<literal>..</literal>".
</para>
</note>
<caution>
<para>
Unter Windows geht <function>dirname</function> von der aktuell
eingestellten Codepage aus. Damit diese Funktion also bei Pfaden mit
Mehrbytezeichen den korrekten Verzeichnisnamen erkennt, muss die passende
Codepage gesetzt sein. Wenn <parameter>path</parameter> Zeichen enthält,
die für die aktuelle Codepage ungültig sind, ist das Verhalten von
<function>dirname</function> undefiniert.
</para>
<para>
Auf anderen Systemen nimmt <function>dirname</function> an, dass
<parameter>path</parameter> in einer ASCII-kompatiblen Kodierung vorliegen
muss. Andernfalls ist das Verhalten der Funktion undefiniert.
</para>
</caution>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>path</parameter></term>
<listitem>
<para>
Ein Pfad.
</para>
<para>
Unter Windows wird sowohl der Slash (<literal>/</literal>) als
auch der Backslash (<literal>\</literal>) als Trennzeichen bei
Pfadangaben benutzt. Unter anderen Betriebssystemen hingegen nur
der Slash (<literal>/</literal>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>levels</parameter></term>
<listitem>
<para>
Die Anzahl an übergeordneten Verzeichnissen, die aufgestiegen werden
soll.
</para>
<para>
Dies muss eine ganze Zahl größer 0 sein.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt den Pfad eines übergeordneten Verzeichnisses zurück. Sind keine
Pfadtrenner in <parameter>path</parameter>, wird ein Punkt
('<literal>.</literal>') zurückgegeben, der das aktuelle Verzeichnis
angibt. Ansonsten ist die zurückgegebene Zeichenkette der
<parameter>path</parameter>, von dem die abschließendene
<literal>/komponente</literal> entfernt wurde.
</para>
<caution>
<para>
Vorsicht ist geboten, wenn diese Funktion in einer Schleife verwendet
wird, die die oberste Verzeichnis-Ebene erreichen kann, da dies zu einer
Endlosschleife führen kann.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
dirname('.'); // Ergibt '.'.
dirname('/'); // Ergibt '/' unter Windows und '/' auf *nix-Systemen.
dirname('\\'); // Ergibt `\` unter Windows und '.' auf *nix-Systemen.
dirname('C:\\'); // Ergibt 'C:\' unter Windows und '.' auf *nix-Systemen.
?>
]]>
</programlisting>
</informalexample>
</para>
</caution>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.0.0</entry>
<entry>
Der optionale Parameter <parameter>levels</parameter> wurde hinzugefügt.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>dirname</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo dirname("/etc/") . PHP_EOL;
echo dirname(".") . PHP_EOL;
echo dirname("C:\\") . PHP_EOL;
echo dirname("/usr/local/lib", 2);
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
/etc
/ (oder \ unter Windows)
.
C:\
/usr
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>basename</function></member>
<member><function>pathinfo</function></member>
<member><function>realpath</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
-->