PHP | mkdir 函数

Lasted 2021-01-19 11:42:04

mkdir 函数创建目录。

尝试创建一个由 pathname 指定的目录。函数包含一个必填参数和三个可选参数,可指定文件的权限,默认为 0777。第三个参数表示是否允许递归创建目录,默认为 false。

函数定义

mkdir ( string $pathname , int $mode = 0777 , bool $recursive = false , resource $context = ? ) : bool
// 源文件位于:ext/standard/file.c
# 函数定义

PHP_FUNCTION(mkdir)
{
  char *dir;
  size_t dir_len;
  zval *zcontext = NULL;
  zend_long mode = 0777;
  zend_bool recursive = 0;
  php_stream_context *context;

  ZEND_PARSE_PARAMETERS_START(1, 4)
    Z_PARAM_PATH(dir, dir_len)
    Z_PARAM_OPTIONAL
    Z_PARAM_LONG(mode)
    Z_PARAM_BOOL(recursive)
    Z_PARAM_RESOURCE_OR_NULL(zcontext)
  ZEND_PARSE_PARAMETERS_END();

  context = php_stream_context_from_zval(zcontext, 0);

  RETURN_BOOL(php_stream_mkdir(dir, (int)mode, (recursive ? PHP_STREAM_MKDIR_RECURSIVE : 0) | REPORT_ERRORS, context));
}

参数

  • checkpathname - 目录的路径。
  • checkmode - 目录的权限。可选参数,默认值 0777。
  • checkrecursive - 是否允许递归创建由 pathname 所指定的多级嵌套目录。可选参数,默认值 false。

返回值

  • checkbool - 成功时返回 true,失败时返回 false。

示例1: - 使用 mkdir() 函数创建目录。

<?php
/**
 * PHP mkdir() 函数创建目录。
 *
 * @since Version 1.0.0
 * @filesource
 */

$pathname = "foo/2021";

// 创建目录
if(mkdir($pathname, 0777, true)) {
  echo 'Create Folders.';
}
Create Folders.