php遍历文件夹和文件列表示例分享


Posted in PHP onMarch 11, 2014

为PHP遍历目录和文件列表写了一个简单的类,并附上使用实例,大家参考使用吧

<?php
define('DS', DIRECTORY_SEPARATOR);
class getDirFile{
    //返回数组
    private $DirArray  = array();
    private $FileArray = array();
    private $DirFileArray = array();
    private $Handle,$Dir,$File;
    //获取目录列表
    public function getDir( & $Dir ){
        if( is_dir($Dir) ){
            if( false != ($Handle = opendir($Dir)) ){
                while( false != ($File = readdir($Handle)) ){
                    if( $File!='.' && $File!='..' && !strpos($File,'.') ){
                        $DirArray[] = $File;
                    }
                }
                closedir( $Handle );
            }
        }else{
            $DirArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';
        }
        return $DirArray;
    }
    //获取文件列表
    public function getFile( & $Dir ){
        if( is_dir($Dir) ){
            if( false != ($Handle = opendir($Dir)) ) {
                while( false != ($File = readdir($Handle)) ){
                    if( $File!='.' && $File!='..' && strpos($File,'.') ){
                        $FileArray[] = $File;
                    }
                }
                closedir( $Handle );
            }
        }else{
            $FileArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';
        }
        return $FileArray;
    }
    //获取目录/文件列表
    public function getDirFile( & $Dir ){
        if( is_dir($Dir) ){
            $DirFileArray['DirList'] = $this->getDir( $Dir );
            if( $DirFileArray ){
                foreach( $DirFileArray['DirList'] as $Handle ){
                    $File = $Dir.DS.$Handle;
                    $DirFileArray['FileList'][$Handle] = $this->getFile( $File );
                }
            }
        }else{
            $DirFileArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';
        }
        return $DirFileArray;
    }
}
?>

实例:(相对路径或绝对路径)

1.获取目录列表

<?php
$Dir_dir  = './example';
$getDirFile = new getDirFile();
$getDir = $getDirFile->getDir( $Dir_dir );
print_r($getDir);
?>

显示

<?php
$File_one_dir = './example/example_one';
$File_two_dir = 'E:/Workspace/mycode/getDirFile/example/example_two';
$getDirFile = new getDirFile();
$getFile_one = $getDirFile->getFile( $File_one_dir );
$getFile_two = $getDirFile->getFile( $File_two_dir );
print_r($getFile_one);
print_r($getFile_two);
?>

2.获取文件列表

<?php
$File_one_dir = './example/example_one';
$File_two_dir = 'E:/Workspace/mycode/getDirFile/example/example_two';
$getDirFile = new getDirFile();
$getFile_one = $getDirFile->getFile( $File_one_dir );
$getFile_two = $getDirFile->getFile( $File_two_dir );
print_r($getFile_one);
print_r($getFile_two);
?>

显示

Array
(
    [0] => example.sql
    [1] => example.txt
)
Array
(
    [0] => example.php
)

3.获取目录/文件列表

<?php
$Dir_dir  = './example';
$getDirFile = new getDirFile();
$getDirFile  = $getDirFile->getDirFile( $Dir_dir );
print_r($getDirFile);
?>

显示

Array
(
    [DirList] => Array
        (
            [0] => example_one
            [1] => example_two
        )
    [FileList] => Array
        (
            [example_one] => Array
                (
                    [0] => example.sql
                    [1] => example.txt
                )
            [example_two] => Array
                (
                    [0] => example.php
                )
        )
)
PHP 相关文章推荐
PHP数组实例总结与说明
Aug 23 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
使用PHP Socket写的POP3类
Oct 30 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
PHP定时任务延缓执行的实现
Oct 08 PHP
phplot生成图片类用法详解
Jan 06 PHP
smarty中改进truncate使其支持中文的方法
May 30 PHP
php mysql 封装类实例代码
Sep 18 PHP
如何用PHP做到页面注册审核
Mar 02 PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 PHP
php 获取xml接口数据的处理方法
May 31 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 #PHP
php上传图片存入数据库示例分享
Mar 11 #PHP
php使用反射插入对象示例分享
Mar 11 #PHP
php数组编码转换示例详解
Mar 11 #PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 #PHP
PHP输出缓存ob系列函数详解
Mar 11 #PHP
php初始化对象和析构函数的简单实例
Mar 11 #PHP
You might like
在线短消息收发的程序,不用数据库
2006/10/09 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
2013/06/05 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
VUE重点问题总结
2018/03/19 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
Vue中对拿到的数据进行A-Z排序的实例
2018/09/25 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
Vue页面切换和a链接的本质区别详解
2019/11/12 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
Python探索之SocketServer详解
2017/10/28 Python
python模块之paramiko实例代码
2018/01/31 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
线程同步的方法
2016/11/23 面试题
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
个人自我鉴定范文
2013/10/04 职场文书
应用艺术专业个人的自我评价
2014/01/03 职场文书
中国好声音华少广告词
2014/03/17 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
甜品店创业计划书
2014/08/14 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
解析Java异步之call future
2021/06/14 Java/Android
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle