Files
php-doc-ru/reference/filesystem/functions/mkdir.xml
2022-07-12 15:02:00 +03:00

173 lines
5.7 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: 6b48028aef8211f89ae6c9fefe64177de2f86e12 Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.mkdir">
<refnamediv>
<refname>mkdir</refname>
<refpurpose>Создаёт директорию</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>mkdir</methodname>
<methodparam><type>string</type><parameter>directory</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>permissions</parameter><initializer>0777</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>recursive</parameter><initializer>&false;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>resource</type><type>null</type></type><parameter>context</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Пытается создать директорию, заданную в <parameter>directory</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>directory</parameter></term>
<listitem>
<para>
Путь к директории.
&tip.fopen-wrapper;
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>permissions</parameter></term>
<listitem>
<para>
По умолчанию принимает значение 0777, что означает
самые широкие права. Больше информации о правах доступа можно
узнать на странице руководства функции <function>chmod</function>.
</para>
<note>
<para>
Аргумент <parameter>permissions</parameter> игнорируется в Windows.
</para>
</note>
<para>
Обратите внимание, что аргумент <parameter>permissions</parameter> необходимо задавать
в виде восьмеричного числа (первой цифрой должен быть ноль).
На аргумент <parameter>permissions</parameter> также влияет текущее значение umask, которое
можно изменить при помощи <function>umask</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>recursive</parameter></term>
<listitem>
<para>
Если указано значение &true;, то все родительские каталоги для указанного
параметра <parameter>directory</parameter> также будут созданы, с теми же разрешениями.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
&note.context-support;
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
<note>
<para>
Если создаваемый каталог уже существует, это считается ошибкой и будет возвращено значение &false;.
Используйте функцию <function>is_dir</function> или <function>file_exists</function>, чтобы проверить,
существует ли уже каталог, прежде чем пытаться его создать.
</para>
</note>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Выдаёт ошибку уровня <constant>E_WARNING</constant>, если директория
уже существует.
</para>
<para>
Выдаёт ошибку уровня <constant>E_WARNING</constant>, если соответствующие
права доступа блокируют создание директории.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>mkdir</function></title>
<programlisting role="php">
<![CDATA[
<?php
mkdir("/path/to/my/dir", 0700);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Использование <function>mkdir</function> с параметром <parameter>recursive</parameter></title>
<programlisting role="php">
<![CDATA[
<?php
// Желаемая структура папок
$structure = './depth1/depth2/depth3/';
// Для создания вложенной структуры необходимо указать параметр
// $recursive в mkdir().
if (!mkdir($structure, 0777, true)) {
die('Не удалось создать директории...');
}
// ...
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>is_dir</function></member>
<member><function>rmdir</function></member>
<member><function>umask</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
-->