-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathchmod.xml
executable file
·144 lines (136 loc) · 4.23 KB
/
chmod.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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 5eb55cda5cc4bc61e94f17468c6402d631edafa5 Maintainer: HonestQiao Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.chmod" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>chmod</refname>
<refpurpose>改变文件模式</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>chmod</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam><type>int</type><parameter>permissions</parameter></methodparam>
</methodsynopsis>
<para>
尝试将 <parameter>filename</parameter> 所指定文件的模式改成
<parameter>permissions</parameter> 所给定的。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
文件的路径。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>permissions</parameter></term>
<listitem>
<para>
注意 <parameter>permissions</parameter> 不会被自动当成八进制数值,因此为确保正确操作,需要给
<parameter>permissions</parameter> 前面加上 0。诸如“g+w”之类的字符串将无法正常工作。
</para>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
chmod("/somedir/somefile", 755); // 十进制数,可能不对
chmod("/somedir/somefile", "u+rwx,go+rx"); // 字符串,不对
chmod("/somedir/somefile", 0755); // 八进制数,正确的 mode 值
?>
]]>
</programlisting>
</informalexample>
</para>
<para>
<parameter>permissions</parameter>
参数包含三个八进制数按顺序分别指定了所有者、所有者所在的组以及所有人的访问限制。每一部分都可以通过加入所需的权限来计算出所要的权限。数字 1
表示使文件可执行,数字 2 表示使文件可写,数字 4 表示使文件可读。加入这些数字来制定所需要的权限。有关 UNIX
系统的文件权限可以阅读手册“<command>man 1 chmod</command>”和“<command>man 2 chmod</command>”。
</para>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
// 所有者可以读写,其他人什么也不能做
chmod("/somedir/somefile", 0600);
// 所有者可以读写,其他人可以读
chmod("/somedir/somefile", 0644);
// 所有者可以读写执行,其他人可以读和执行
chmod("/somedir/somefile", 0755);
// 所有者可以读写执行,所有者同组可以读和执行
chmod("/somedir/somefile", 0750);
?>
]]>
</programlisting>
</informalexample>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
失败时会发出 <constant>E_WARNING</constant>。
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
当前用户指的是执行 PHP 的用户。很可能和通常访问 shell 或者 FTP
的用户不是同一个。在大多数系统下文件模式只能被拥有该文件的用户改变。
</para>
</note>
¬e.no-remote;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>chown</function></member>
<member><function>chgrp</function></member>
<member><function>fileperms</function></member>
<member><function>stat</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
-->