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 相关文章推荐
php4的session功能评述(一)
Oct 09 PHP
php 过滤器实现代码
Aug 09 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
PHP排序算法类实例
Jun 17 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
Jan 15 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
PHP registerXPathNamespace()函数讲解
Feb 03 PHP
PHP实现微信退款的方法示例
Mar 26 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
laravel通用化的CURD的实现
Dec 13 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
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
PHP用户指南-cookies部分
2006/10/09 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
不同浏览器的怪癖小结
2010/07/11 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
[48:39]Ti4主赛事胜者组第一天 EG vs NEWBEE 2
2014/07/19 DOTA
Python实现购物车购物小程序
2018/04/18 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
python 搜索大文件的实例代码
2019/07/08 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
python实现超级马里奥
2020/03/18 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
总经理岗位职责
2013/11/09 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang