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

 更新时间:2014年03月20日 11:27:08   作者:  
这篇文章主要介绍了php遍历文件夹下的所有文件和子文件夹示例,这里提供二个方法,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

遍历目录,结果存入数组。支持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:\wamp\www\any");

还可以把‘\*', 换成 DIRECTORY_SEPARATOR.'*' ,把‘\n'换成PHP_EOL ,这样可以跨平台了。

相关文章

  • 如何使用PHP获取指定日期所在月的开始日期与结束日期

    如何使用PHP获取指定日期所在月的开始日期与结束日期

    以下是对PHP获取指定日期所在月的开始日期与结束日期的实现代码进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • ThinkPHP的常用配置选项汇总

    ThinkPHP的常用配置选项汇总

    这篇文章主要介绍了ThinkPHP的常用配置选项,详细汇总了ThinkPHP配置文件中经常用到的配置项极其具体含义与作用,需要的朋友可以参考下
    2016-03-03
  • php+ajax实现异步上传文件或图片功能

    php+ajax实现异步上传文件或图片功能

    这篇文章主要为大家详细介绍了php+ajax实现异步上传文件或图片功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • PHP使用array_multisort对多个数组或多维数组进行排序

    PHP使用array_multisort对多个数组或多维数组进行排序

    这篇文章主要介绍了PHP使用array_multisort对多个数组或多维数组进行排序,需要的朋友可以参考下
    2014-12-12
  • php制作的简单验证码识别代码

    php制作的简单验证码识别代码

    近期研究一些突破验证码方面的知识,记录下来。一方面算是对这几天学习知识的总结帮助自己理解;另一方面希望对研究这方面的技术同学有所帮助;另外也希望引起网站管理者的注意,在提供验证码时多些考虑进去。由于刚刚接触这方面的知识,理解比较浅显,有错误再所难免
    2016-01-01
  • thinkPHP中volist标签用法示例

    thinkPHP中volist标签用法示例

    这篇文章主要介绍了thinkPHP中volist标签用法,结合实例形式分析了thinkPHP中volist标签的功能、属性及相关使用技巧,需要的朋友可以参考下
    2016-12-12
  • PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)

    PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)

    这篇文章主要介绍了PhpStorm 2020.3:新增开箱即用的PHP 8属性的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • PHP验证码生成原理和实现

    PHP验证码生成原理和实现

    验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码的原理和实现,对验证码生成原理相关知识感兴趣的朋友一起学习吧
    2016-01-01
  • thinkphp6如何使用中间件记录行为日志

    thinkphp6如何使用中间件记录行为日志

    这篇文章主要介绍了thinkphp6如何使用中间件记录行为日志问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • PHP下通过QRCode类库创建中间带网站LOGO的二维码

    PHP下通过QRCode类库创建中间带网站LOGO的二维码

    这篇文章主要介绍了用php中QRCode类库创建中间带LOGO的二维码,QRcode生成二维码的实例代码,有需要的朋友可以参考下
    2014-07-07

最新评论

?


http://www.vxiaotou.com