mkdir

(PHP 4, PHP 5, PHP 7, PHP 8)

mkdir新建目录

说明

mkdir(
    string $directory,
    int $permissions = 0777,
    bool $recursive = false,
    ?resource $context = null
): bool

尝试新建由 directory 指定的目录。

参数

directory

目录的路径。

小技巧

如已启用fopen 包装器,在此函数中, URL 可作为文件名。关于如何指定文件名详见 fopen()。各种 wapper 的不同功能请参见 支持的协议和封装协议,注意其用法及其可提供的预定义变量。

permissions

默认权限是 0777,意味着最大可能的访问权。有关权限的更多信息请阅读 chmod() 页面。

注意:

permissions 在 Windows 下被忽略。

注意也许想用八进制数指定 permissions,也就是说该数应以零打头。permissions 也会被当前的 umask 修改,可以用 umask() 来改变。

recursive

如果为 true,还将会创建指定 directory 的任何父级目录,并具有相同的权限。

context

上下文流(context stream) resource

返回值

成功时返回 true, 或者在失败时返回 false

注意:

如果创建的目录已存在,则视为错误,仍然返回 false。在尝试创建之前,使用 is_dir() 或者 file_exists() 检查目录是否已经存在。

错误/异常

目录已存在时,产生 E_WARNING 错误。

如果因为权限问题无法创建目录,导致 E_WARNING 错误。

示例

示例 #1 mkdir() 例子

<?php
mkdir
("/path/to/my/dir", 0700);
?>

示例 #2 通过 recursive 参数使用 mkdir()

<?php
// 期望的目录结构
$structure = './depth1/depth2/depth3/';

// 要创建嵌套结构,必须指定 mkdir()
// 的 $recursive 参数。

if (!mkdir($structure, 0777, true)) {
die(
'Failed to create directories...');
}

// ...
?>

参见

  • is_dir() - 判断给定文件名是否是一个目录
  • rmdir() - 删除目录
  • umask() - 改变当前的 umask

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top