php mkdir 创建多级目录以及修改权限

mkdir() 用法:mkdir($path,0777,true);

第一个参数:必须,代表要创建的多级目录的路径;
第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权;注意:mode 在windows下被忽略
第三个参数:true表示允许创建多级目录。

返回值:成功时返回true,失败时返回false

其他相关函数:is_dir 判断给定文件名是否是一个目录,rmdir() 删除目录

举例:

<?php
    //要创建的多级目录
    $path="php/php1/php2";
    //判断目录存在否,存在给出提示,不存在则创建目录
    if (!is_dir($path)){
        //第三个参数是“true”表示能创建多级目录
        $res=mkdir($path,0777,true);
        if ($res){
            echo "success";
        }else{
            echo "fail";
        }
    }
?>   

在linux(ubuntu)系统中执行上述代码后,实际创建的文件权限为755,原因是在 linux 系统中在创建 文件/文件夹 时有一个默认权限,此权限受 umask 设置影响,linux 系统中默认的 umask 为 022,与 777 & 运算之后,就变成了 755。

解决方案:

先创建目录,再使用chmod将权限修改为 777:

<?php
    $path = 'php/php1/php2';
    if(!is_dir($path)){
       mkdir($path, 0777, true);
       chmod($path, 0777);
    }  
?>

 

posted @ 2021-04-21 10:44  声声慢43  阅读(860)  评论(0编辑  收藏  举报