PHP中的目录操作

相关函数

  • 打开目录 opendir();
    • 参数1:要打开目录的路径
    • 返回值:成功返回资源,失败返回false
  • 读取目录 readdir()
    • 参数1:由opendir打开目录成功返回的资源
    • 返回值:
      • 第一次读取 返回 当前目录
      • 第二次读取 返回 上一级目录
      • 第三次读取 返回 子目录名称
      • 最后一次读取或者读取失败 返回 false
  • 关闭目录 closedir()
    • 参数1:由opendir打开目录成功返回的资源
  • 创建目录 mkdir()
    • 参数1:要创建目录的名称
    • 参数2:可选参数,表示设置创建目录的权限,目前只需要记住一个0777表示最高权限
    • 参数3:可选参数,如果设置为true表示允许嵌套的方式创建目录,默认为false
    • 返回值:成功返回true,失败返回false
  • 删除目录 rmdir()
    • 参数:要删除的目录的路径
    • 返回值:成功返回true,失败返回false
    • 注意:只能删除一个空目录,如果想正常实现删除目录操作,需要自己写功能递归实现
  • 返回路径中的目录部分 dirname();
    • 参数1:一个路径
    • 返回值:返回路径中的目录部分
  • 返回路径中文件名称 basename()
    • 参数1:一个路径
    • 返回值:返回路径中的文件名称
  • 获取路径信息 pathinfo()
    • 参数1:一个路径
    • 返回值:返回一个数组,数组中包含 目录部分,文件部分,文件后缀,文件名称


//计算当前目录下 文件跟文件夹个数
function folder_count($path,$dir_num=0,$file_num=0){
    $dir=opendir($path);
    while($filename=readdir($dir)){
        if($filename!='.' && $filename!='..'){
            if(is_file($path.'/'.$filename)){
                $file_num++;
            }
            if(is_dir($path.'/'.$filename)){
                $dir_num++;
                $count=folder_count($path.'/'.$filename,$dir_num,$file_num);
                $dir_num=$count['dir_num'];
                $file_num=$count['file_num'];
            }
        }
    }
    closedir($dir);
    return ['dir_num'=>$dir_num,'file_num'=>$file_num];
}

posted on 2018-05-17 10:53  nothingMan  阅读(143)  评论(0)    收藏  举报