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合并数组+与array_merge的区别分析
Aug 01 PHP
php实现水仙花数示例分享
Apr 03 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
Nov 11 PHP
详解php比较操作符的安全问题
Dec 03 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
THINKPHP截取中文字符串函数实例代码
Mar 20 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
PHP生成随机码的思路与方法实例探索
Apr 11 PHP
Laravel框架自定义分页样式操作示例
Jan 26 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+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
PHP函数in_array()使用详解
2014/08/20 PHP
js保留两位小数使用toFixed实现
2013/07/29 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
微信小程序实现登录页云层漂浮的动画效果
2017/05/05 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
用yum安装MySQLdb模块的步骤方法
2016/12/15 Python
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
python归并排序算法过程实例讲解
2020/11/04 Python
python 实现波浪滤镜特效
2020/12/02 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
幼儿教师师德演讲稿
2014/05/06 职场文书
工程售后服务方案
2014/06/08 职场文书
低碳环保标语
2014/06/12 职场文书
行政求职信
2014/07/04 职场文书
交通事故和解协议书
2015/01/27 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书