不言不语

您现在的位置是: 首页 >  PHP

PHP

php利用mkdir()函数创建多级目录

2022-05-31PHP
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] ); 第一个参数 $pathname:必须,代表要创建的一级或多级目录的路径;第二个参数 $mode:设定目录的权限,默认是 0777,意味着最大可能的访问权;第三个参数 $recursive:true表示允许创建多级目录。


一、函数说明


bool mkdir ( string $pathname   [, int $mode = 0777   [, bool $recursive = false   [, resource $context  ]]] )


第一个参数 $pathname:必须,代表要创建的一级或多级目录的路径;

第二个参数 $mode:设定目录的权限,默认是 0777,意味着最大可能的访问权;

第三个参数 $recursive:true表示允许创建多级目录。



二、返回值 


成功时返回 TRUE, 或者在失败时返回 FALSE。



三、经典示例


<?php

header("Content-type:text/html;charset=utf-8");

//要创建的多级目录
$path = "./whm/php/php学习";

// 判断目录存在否,存在给出提示,不存在则创建目录
// is_dir() - 判断给定文件名是否是一个目录
if (is_dir($path)){

    echo "对不起!目录 " . $path . " 已经存在!";
    
}else{

    // 第三个参数为true时表示能创建多级目录
    $res=mkdir($path, 0777, true);
    if ($res){
        echo "目录 $path 创建成功";
    }else{
        echo "目录 $path 创建失败";
    }
}


四、错误示例


相信很多初学者会这样创建多级目录,其实这样创建多级目录是错误的


mkdir('aa/bb/cc');//如果有aa/bb目录就可以成功创建cc目录否则会报错哦,如果要创建多目录我们看下面代码



五、mkdir()后无写权限的问题解决方法


mkdir('文件地址', 0777); 
chmod('文件地址', 0777);

// 最后,需要注意一点,权限值最好使用八进制表示,即 0 开头,而且一定不要加引号。
//  原因:代码错误,'0777'不应使用字符串参数,而是使用0777值



文章评论