mkdir
(PHP 4, PHP 5, PHP 7, PHP 8)
mkdir — Создаёт директорию
Список параметров
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('Не удалось создать директории...');
}
// ...
?>
Смотрите также
- is_dir() - Определяет, является ли имя файла директорией
- rmdir() - Удаляет директорию
- umask() - Изменяет текущую маску прав доступа для вновь созданных файлов и каталогов (umask)