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 相关文章推荐
PHP+DBM的同学录程序(5)
Oct 09 PHP
树型结构列出指定目录里所有文件的PHP类
Oct 09 PHP
php桌面中心(四) 数据显示
Mar 11 PHP
PHP session有效期session.gc_maxlifetime
Apr 20 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
Mar 03 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
总结PHP中初始化空数组的最佳方法
Feb 13 PHP
PHP实现爬虫爬取图片代码实例
Mar 03 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版)
2006/10/09 PHP
php 安全过滤函数代码
2011/05/07 PHP
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
jQuery实现分隔条左右拖动功能
2015/11/21 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
关于vue里页面的缓存详解
2019/11/04 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
Python如何实现线程间通信
2020/07/30 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
政府信息公开实施方案
2014/05/09 职场文书
小学生倡议书范文
2014/05/13 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
2014年店长工作总结
2014/11/17 职场文书
教师岗位职责范本
2015/04/02 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS