-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathdirname.xml
More file actions
167 lines (159 loc) · 4.95 KB
/
dirname.xml
File metadata and controls
167 lines (159 loc) · 4.95 KB
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
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: a4b6d72ad31caf1dfebe4ead873da491e45395ef Maintainer: adi Status: ready -->
<!-- $Revision$ -->
<!-- CREDITS: sobak, grzesiek -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.dirname">
<refnamediv>
<refname>dirname</refname>
<refpurpose>Zwraca nazwę katalogu, będącego składową ścieżki</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>
Z podanego łańcucha zawierającego ścieżkę do pliku, funkcja ta
zwróci nazwę nadrzędnego katalogu, który jest o podaną ilość
poziomów (<parameter>levels</parameter>) wyżej od obecnego katalogu.
</para>
<note>
<para>
<function>dirname</function> działa naiwnie na wejściowym łańcuchu znaków
i nie jest świadoma bieżącego systemu plików lub składników ścieżki takich
jak "<literal>..</literal>".
</para>
</note>
<caution>
<para>
W systemie Windows, <function>dirname</function> przyjmuje aktualnie ustawioną stronę kodową,
więc aby zobaczyć poprawną nazwę katalogu z wielobajtowymi ścieżkami znakowymi,
musi być ustawiona odpowiednia strona kodowa.
Jeśli parametr <parameter>path</parameter> zawiera znaki, które są nieprawidłowe
dla bieżącej strony kodowej, zachowanie <function>dirname</function> jest niezdefiniowane.
</para>
<para>
W innych systemach <function>dirname</function> zakłada, że parametr <parameter>path</parameter>
jest zakodowany w kodowaniu zgodnym z ASCII. W przeciwnym razie zachowanie funkcji
jest niezdefiniowane.
</para>
</caution>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>path</parameter></term>
<listitem>
<para>
Ścieżka.
</para>
<para>
W Windows jako separator katalogu używany jest znak slash
(<literal>/</literal>) i backslash (<literal>\</literal>). W
innych środowiskach jest to slash (<literal>/</literal>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>levels</parameter></term>
<listitem>
<para>
Ilość katalogów w górę, które należy przejść.
</para>
<para>
Musi być to liczba całkowita większa niż 0.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Zwraca nazwę katalogu. Jeśli w parametrze <parameter>path</parameter> nie znajdują się
ukośniki to zwracana jest kropka ('<literal>.</literal>'), oznaczająca
bieżący katalog. W innym przypadku, zwracany jest łańcuch znaków
parametru <parameter>path</parameter> z usuniętymi wszystkimi końcowymi
<literal>/komponentami</literal>.
</para>
<caution>
<para>
Należy zachować ostrożność podczas korzystania z tej funkcji w pętli, która może dotrzeć do
katalogu najwyższego poziomu, ponieważ może to spowodować nieskończoną pętlę.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
dirname('.'); // Zwróci '.'.
dirname('/'); // Zwróci `\` systemach Windows i '/' w systemach uniksowych.
dirname('\\'); // Zwróci `\` systemach Windows i '.' w systemach uniksowych.
dirname('C:\\'); // Zwróci 'C:\' systemach Windows i '.' w systemach uniksowych.
?>
]]>
</programlisting>
</informalexample>
</para>
</caution>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Przykład <function>dirname</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo dirname("/etc/") . PHP_EOL;
echo dirname(".") . PHP_EOL;
echo dirname("/usr/local/lib", 2);
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
/etc
/ (lub \ w systemie Windows)
.
/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
-->