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 连接mysql连接被重置的解决方法
Feb 15 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
php漏洞之跨网站请求伪造与防止伪造方法
Aug 15 PHP
PHP中定义数组常量(array常量)的方法
Nov 17 PHP
php统计数组元素个数的方法
Jul 02 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
PHP实现动态创建XML文档的方法
Mar 30 PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 PHP
Laravel第三方包报class not found的解决方法
Oct 13 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/11/25 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Python中无限元素列表的实现方法
2014/08/18 Python
简单介绍Python中的floor()方法
2015/05/15 Python
Python设计模式之门面模式简单示例
2018/01/09 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
解决Python二维数组赋值问题
2019/11/28 Python
python实现智能语音天气预报
2019/12/02 Python
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
行政管理专业推荐信
2013/11/02 职场文书
小学教师培训方案
2014/06/09 职场文书
爱心捐书活动总结
2014/07/05 职场文书
公司离职证明范本(汇总)
2014/09/10 职场文书
解除劳动合同协议书
2014/09/17 职场文书
体检通知范文
2015/04/21 职场文书
python实现会员信息管理系统(List)
2022/03/18 Python
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python