(PHP 4, PHP 5, PHP 7, PHP 8)
mkdir — Создаёт директорию
$directory
,$permissions
= 0777,$recursive
= false
,$context
= null
Пытается создать директорию, заданную в directory
.
directory
Путь к директории.
В эту функцию в качестве имени файла можно передавать URL-адреса, если была включена директива fopen wrappers. Подробнее о том, как указать имя файла, рассказано в описании функции fopen(). В разделе «Протоколы и обёртки» также даны ссылки на информацию о способностях поддерживаемых обёрток, замечания по работе с ними и список предопределённых переменных, которые они дают.
permissions
По умолчанию принимает значение 0777, что означает самые широкие права. Больше информации о правах доступа можно узнать на странице руководства функции chmod().
Замечание:
Аргумент
permissions
игнорируется в Windows.
Обратите внимание, что аргумент permissions
необходимо задавать
в виде восьмеричного числа (первой цифрой должен быть ноль).
На аргумент permissions
также влияет текущее значение umask, которое
можно изменить при помощи umask().
recursive
Если указано значение true
, то все родительские каталоги для указанного
параметра directory
также будут созданы, с теми же разрешениями.
context
Ресурс (resource) контекста потока.
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Замечание:
Если создаваемый каталог уже существует, это считается ошибкой и будет возвращено значение
false
. Используйте функцию is_dir() или file_exists(), чтобы проверить, существует ли уже каталог, прежде чем пытаться его создать.
Выдаёт ошибку уровня E_WARNING
, если директория
уже существует.
Выдаёт ошибку уровня E_WARNING
, если соответствующие
права доступа блокируют создание директории.
Пример #1 Пример использования функции mkdir()
<?php
mkdir("/path/to/my/dir", 0700);
?>
Пример #2 Использование mkdir() с параметром recursive
<?php
// Желаемая структура папок
$structure = './depth1/depth2/depth3/';
// Для создания вложенной структуры необходимо указать параметр
// $recursive в mkdir().
if (!mkdir($structure, 0777, true)) {
die('Не удалось создать директории...');
}
// ...
?>