php递归获取目录内文件(包含子目录)封装类分享


Posted in PHP onDecember 25, 2013

代码如下:

function readFileFromDir($dir) {
    if (!is_dir($dir)) {
        return false;
    }
    //打开目录
    $handle = opendir($dir);
    while (($file = readdir($handle)) !== false) {
        //排除掉当前目录和上一个目录
        if ($file == "." || $file == "..") {
            continue;
        }
        $file = $dir . DIRECTORY_SEPARATOR . $file;
        //如果是文件就打印出来,否则递归调用
        if (is_file($file)) {
            print $file . '<br />';
        } elseif (is_dir($file)) {
            readFileFromDir($file);
        }
    }
}

调用方式:

$dir = '/home/www/test'; 
readFileFromDir($dir);

查看php手册的话,还有一个方法scandir也可以使用,不过这个方法会一次性获取单级目录下的所有文件,存放到数组里,如果目录里的文件比较多的话,会卡。

PHP 相关文章推荐
一个捕获函数输出的函数
Feb 14 PHP
php 移除数组重复元素的一点说明
Nov 27 PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
基于PHP静态类的原罪详解
May 06 PHP
php函数指定默认值方法的小例子
Dec 04 PHP
php使用CURL伪造IP和来源实例详解
Jan 15 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
php 指定范围内多个随机数代码实例
Jul 18 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
Jun 07 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
Laravel登录失败次数限制的实现方法
Aug 26 PHP
Laravel中Kafka的使用详解
Mar 24 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 #PHP
zend framework文件上传功能实例代码
Dec 25 #PHP
php文字水印和php图片水印实现代码(二种加水印方法)
Dec 25 #PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 #PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 #PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 #PHP
php使用strtotime和date函数判断日期是否有效代码分享
Dec 25 #PHP
You might like
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
Ext 今日学习总结
2010/09/19 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
javascript基本类型详解
2014/11/28 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
Python二分法搜索算法实例分析
2015/05/11 Python
Python去除字符串两端空格的方法
2015/05/21 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
学Python 3的理由和必要性
2019/11/19 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
大学军训感言200字
2014/02/26 职场文书
在校实习生求职信
2014/06/18 职场文书
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python