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 @   声声慢43  阅读(875)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示