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);
    }  
?>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM