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 mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
Jun 30 PHP
php程序员应具有的7种能力小结
Nov 27 PHP
PHP函数import_request_variables()用法分析
Apr 02 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
基于PHP实现的多元线性回归模拟曲线算法
Jan 30 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 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
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
世界收音机发展史
2021/03/01 无线电
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
Python实现的字典值比较功能示例
2018/01/08 Python
python 文件转成16进制数组的实例
2018/07/09 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
python3注册全局热键的实现
2020/03/22 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
Python项目打包成二进制的方法
2020/12/30 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
幼儿园春游活动方案
2014/01/19 职场文书
行政办公室岗位职责
2014/03/18 职场文书
升学宴家长致辞
2015/07/27 职场文书
职工食堂管理制度
2015/08/06 职场文书
培训心得体会怎么写
2016/01/25 职场文书
《猴王出世》教学反思
2016/02/23 职场文书