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 self与$this的详解
Jun 08 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
Jun 25 PHP
更改localhost为其他名字的方法
Feb 10 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
php生成二维码
Aug 10 PHP
PHP和Mysql中转UTF8编码问题汇总
Oct 10 PHP
PHP导出带样式的Excel示例代码
Aug 28 PHP
PHP序列化操作方法分析
Sep 28 PHP
php 中奖概率算法实现代码
Jan 25 PHP
php 一维数组的循环遍历实现代码
Apr 10 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
php面向对象基础详解【星际争霸游戏案例】
Jan 23 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
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
PHP关联链接常用代码
2012/11/05 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
2015/04/17 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
Yii2中datetime类的使用
2016/12/17 PHP
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
js操作二级联动实现代码
2010/07/27 Javascript
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
基本DOM节点操作
2017/01/17 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
js实现一个简易计算器
2020/03/30 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
奶茶店创业计划书
2014/08/14 职场文书
计生工作先进事迹
2014/08/15 职场文书
2014小学年度工作总结
2014/12/20 职场文书
答谢酒会主持词
2015/07/02 职场文书
校园安全学习心得体会
2016/01/18 职场文书