如何使用glob方法遍历文件夹下所有文件的相关方法

jacklove
发布: 2018-06-09 10:34:40
原创
2367人浏览过

遍历文件夹下所有文件,一般可以使用opendirreaddir 方法来遍历。

例子:找出指定目录下的所有php文件(不搜寻子文件夹),代码如下:

<?php$path = dirname(__FILE__);$result = traversing($path);
print_r($result);function traversing($path){
    $result = array();    if($handle = opendir($path)){        while($file=readdir($handle)){            if($file!='.' && $file!='..'){                if(strtolower(substr($file, -4))=='.php'){
                    array_push($result, $file);
                }
            }
        }
    }    return $result;
}?>
登录后复制

如使用glob方法来遍历则可以简化代码

<?php$path = dirname(__FILE__);$result = glob($path.'/*.php');
print_r($result);?>
登录后复制

注意,glob返回的会是path+搜寻结果的路径,例如path=’/home/fdipzone’,以上例子则返回

Array(
    [0] => /home/fdipzone/a.php
    [1] => /home/fdipzone/b.php
    [2] => /home/fdipzone/c.php
)
登录后复制

这是与opendir,readdir返回的结果不同的地方。

如果只是遍历当前目录。可以改成这样:glob(‘*.php’);
glob语法说明:

array glob ( string $pattern [, int $flags = 0 ] )
登录后复制

glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。glob使用正则匹配路径功能强大。

flags 有效标记有:
GLOB_MARK - 在每个返回的项目中加一个斜线
GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
GLOB_NOESCAPE - 反斜线不转义元字符
GLOB_BRACE - 扩充 {a,b,c} 来匹配 ‘a’,’b’ 或 ‘c’
GLOB_ONLYDIR - 仅返回与模式匹配的目录项
GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误

例子:使用glob方法遍历指定文件夹(包括子文件夹)下所有php文件

<?php$path = dirname(__FILE__);$result = array();
traversing($path, $result);
print_r($result);function traversing($path, &$result){
    $curr = glob($path.'/*');    if($curr){        foreach($curr as $f){            if(is_dir($f)){
                array_push($result, $f);
                traversing($f, $result);
            }elseif(strtolower(substr($f, -4))=='.php'){
                array_push($result, $f);
            }
        }
    }
}?>
登录后复制

本文讲解了如何使用glob方法遍历文件夹下所有文件的相关方法,更多相关内容请关注php中文网。

相关推荐:

关于php 浮点数比较方法 的讲解

通过mysql导出查询结果到csv方法的讲解

php array_push 与 $arr[]=$value 之间的性能对比

以上就是如何使用glob方法遍历文件夹下所有文件的相关方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号