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实现网上点歌(二)
Oct 09 PHP
php 获取mysql数据库信息代码
Mar 12 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Aug 08 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
PHP读取大文件的类SplFileObject使用介绍
Apr 09 PHP
ThinkPHP3.1新特性之G方法的使用
Jun 19 PHP
php将12小时制转换成24小时制的方法
Mar 31 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
浅谈PHP中其他类型转化为Bool类型
Mar 28 PHP
Laravel实现autoload方法详解
May 07 PHP
php png失真的原因及解决办法
Oct 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 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
python实现外卖信息管理系统
2018/01/11 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
django 多数据库及分库实现方式
2020/04/01 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
幼儿园新年寄语
2014/04/03 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
质量承诺书格式
2014/05/20 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android