您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> php编程 >> 正文

php遍历文件夹下的所有文件和子文件夹示例

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了php遍历文件夹下的所有文件和子文件夹示例,这里提供二个方法,需要的朋友可以参考下

遍历目录,结果存入数组。支持php4及以上。php5以后可用scandir()函数代替while循环。   代码如下: <?php /** * @param string $dir * @return array */ function my_scandir($dir) {  $files = array();  if ( $handle = opendir($dir) ) {   while ( ($file = readdir($handle)) !== false )    {    if ( $file != ".." && $file != "." )     {     if ( is_dir($dir . "/" . $file) )      {      $files[$file] = my_scandir($dir . "/" . $file);     }     else      {      $files[] = $file;     }    }   }   closedir($handle);   return $files;  } }   function my_scandir1($dir) {  $files = array();  $dir_list = scandir($dir);  foreach($dir_list as $file)  {   if ( $file != ".." && $file != "." )    {    if ( is_dir($dir . "/" . $file) )     {     $files[$file] = my_scandir1($dir . "/" . $file);    }    else     {     $files[] = $file;    }   }  }    return $files; }   $result = my_scandir('./'); $result = my_scandir1('./'); ?>       另一个实现方法     代码如下: function fetchDir($dir) {          foreach(glob($dir.'*') as $file) {              echo $file,"n";              if(is_dir($file)) {                  fetchDir($file);              }          }      }      fetchDir("D:wampwwwany");      还可以把‘*', 换成 DIRECTORY_SEPARATOR.'*' ,把‘n'换成PHP_EOL ,这样可以跨平台了。