Files
php-doc-ru/reference/filesystem/functions/chmod.xml
2021-12-16 12:33:41 +03:00

160 lines
6.1 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 5eb55cda5cc4bc61e94f17468c6402d631edafa5 Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<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>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>
не переводится автоматически в восьмеричную систему счисления,
поэтому, чтобы удостовериться в том, что режим
был установлен верно, предваряйте нулём (0) значение
передаваемое в параметре <parameter>permissions</parameter>.
Строки, такие как "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); // восьмеричное, верный способ
?>
]]>
</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. Возможно, что это будет не тот
пользователь, под именем которого вы получаете доступ к
командной оболочке или учётной записи FTP. На большинстве систем
режим доступа к файлу может быть изменён только его владельцем.
</para>
</note>
&note.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
-->