php专区

 首页 > php专区 > PHP高级 > 文件上传 > php如何获取目录下所有文件及目录最新评论添加评论

php如何获取目录下所有文件及目录最新评论添加评论

分享到:
【字体:
导读:
         [导读] 今天带来php如何获取目录下所有文件及目录教程,并提供三种方法,大家可以自行选择。 方法一:获取某目录下所有子文件和子目录,这里主要用到了 opendir和scandir 方法。 functiongetD...

今天带来php如何获取目录下所有文件及目录教程,并提供三种方法,大家可以自行选择。

方法一:获取某目录下所有子文件和子目录,这里主要用到了 opendir和scandir 方法。

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.'
'; }

方法二:

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 .'
';         getDir($sub_path);       }else{         //.$path 可以省略,直接输出文件名         echo ' 最底层文件: '.$path. ':'.$value.' 
';       }     }   } } $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读取大文件教程 唯一能确认我们对代码所做改进是否有效的方式是:衡量一个糟糕的情况,然后对比我们已经应用改进后的衡量情况。换言之,除非我们知道 “解决方案” 能帮我们到什么程度 (如果有的话),否则我们并不知道它是否是一个解决方案。 我们可以关注两个指标。首先是 CPU 使用率。我们要处理的过程运行得有多快或...
PHP中GC回收机制是什么?图解php中gc回收...
目录 前言 简单铺垫 初识GC 小试牛刀 总结 前言 在前面讲魔术方法时就提到过一个问题,__destruct()无论如何都会被触发,但是前提是必须得完成程序的开始与结束,但是如果程序走了一半,突然报错,那么__destruct()不会触发了,那如果又必须要__destruct()触发又得怎么搞呢? 这里就要提到一个垃圾回收机制---GC回收!...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……