主页 > 知识库 > php获取目录下所有文件及目录(多种方法)(推荐)

php获取目录下所有文件及目录(多种方法)(推荐)

热门标签:外呼系统能给企业带来哪些好处 400电话兰州申请请 百度地图标注偏差 电销机器人问门萨维品牌my 余姚电话机器人 百度地图怎样标注图标 开发地图标注类网站 咸宁销售电销机器人系统 广东广州在怎么申请400电话

获取某目录下所有子文件和子目录

function getDirContent($path){
  if(!is_dir($path)){
    return false;
  }
  //readdir方法
  /* $dir = opendir($path);
  $arr = array();
  while($content = readdir($dir)){
    if($content != '.'  $content != '..'){
      $arr[] = $content;
    }
  }
  closedir($dir); */

  //scandir方法
  $arr = array();
  $data = scandir($path);
  foreach ($data as $value){
    if($value != '.'  $value != '..'){
      $arr[] = $value;
    }
  }
  return $arr;
}

下面介绍的三种方法,是获取某个目录下所有的目录(包括子目录,子孙目录)和文件,直到最里层

方法一

function searchDir($path,$files){

  if(is_dir($path)){

    $opendir = opendir($path);

    while ($file = readdir($opendir)){
      if($file != '.'  $file != '..'){
        searchDir($path.'/'.$file, $files);
      }
    }
    closedir($opendir);
  }
  if(!is_dir($path)){
    $files[] = $path;
  }
}
//得到目录名
function getDir($dir){
  $files = array();
  searchDir($dir, $files);
  return $files;
}
$filenames = getDir('lss');

foreach ($filenames as $value){
  echo $value.'br/>';
} 

方法二:

function getDir($path){

  if(is_dir($path)){

    $dir = scandir($path);
    foreach ($dir as $value){
      $sub_path =$path .'/'.$value;
      if($value == '.' || $value == '..'){
        continue;
      }else if(is_dir($sub_path)){
        echo '目录名:'.$value .'br/>';
        getDir($sub_path);
      }else{
        //.$path 可以省略,直接输出文件名
        echo ' 最底层文件: '.$path. ':'.$value.' hr/>';
      }
    }
  }
}
$path = 'lss';
getDir($path); 

方法三:

function getDir($path){
  $arr = array();
    $arr[] = $path;
  if(is_file($path)){

  }else{
    if(is_dir($path)){
      $data = scandir($path);
      if(!empty($data)){
        foreach ($data as $value){
          if($value != '.'  $value != '..'){
            $sub_path = $path."/".$value;
            $temp = getDirContent($sub_path);
            $arr = array_merge($temp,$arr);
          }          
        }

      }
    }
  }

  return $arr;
}
$path = 'lss';
var_dump(getDir($path));

以上所述是小编给大家介绍的php获取目录下所有文件及目录多种方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:
  • PHP超低内存遍历目录文件和读取超大文件的方法
  • PHP遍历目录文件的常用方法小结
  • php实现统计目录文件大小的函数
  • php使用glob函数快速查询指定目录文件的方法
  • php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码

标签:重庆 十堰 铜陵 丽江 巴彦淖尔 衡阳 鹰潭 临沂

巨人网络通讯声明:本文标题《php获取目录下所有文件及目录(多种方法)(推荐)》,本文关键词  php,获取,目,录下,所有,文件,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《php获取目录下所有文件及目录(多种方法)(推荐)》相关的同类信息!
  • 本页收集关于php获取目录下所有文件及目录(多种方法)(推荐)的相关信息资讯供网民参考!
  • 推荐文章