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 Ajax乱码
Apr 09 PHP
php flush类输出缓冲剖析
Oct 19 PHP
PHP 分页原理分析,大家可以看看
Dec 21 PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 PHP
php中hashtable实现示例分享
Feb 13 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
Nov 19 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 PHP
PHPExcel 修改已存在Excel的方法
May 03 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
May 25 PHP
php 使用 __call实现重载功能示例
Nov 18 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
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
用javascript实现自定义标签
2007/05/08 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
html超链接打开窗口大小的方法
2013/03/05 Javascript
javascript获取选中的文本的方法代码
2013/10/30 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
2017/08/19 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
用Python实现一个简单的能够发送带附件的邮件程序的教程
2015/04/08 Python
Python书单 不将就
2017/07/11 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
django 修改server端口号的方法
2018/05/14 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
python conda操作方法
2019/09/11 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
如何编写python的daemon程序
2021/01/07 Python
农村门前三包责任书
2014/07/25 职场文书
工程合作意向书范本
2015/05/09 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
浅谈Redis存储数据类型及存取值方法
2021/05/08 Redis
JAVA springCloud项目搭建流程
2022/05/11 Java/Android