php 快速读取文件夹下文件列表

在读取某个文件夹下的内容的时候 以前是使用 opendir readdir结合while循环过滤 . ..当前文件夹和父文件夹来操作的。

代码如下:

然后偶然发现了有scandir函数 可以扫描文件夹下内容

不用再while循环读取了 代码如下:

这样得到的是文件夹下的目录和文件列表

然而大部分情况下 我们不需要文件夹目录只需要文件 就得用 is_dir或者is_file来判断

而且有时候比较明确加载某些特殊类型的文件 如.php  .ini等文件的话 可以直接这样

这样能迅速获取某个后缀名的文件列表 能够快速的找到你想要的文件了

后续更新(2020-05-21)

有时候我们需要指定文件夹路径以及多个文件后缀类型,比如我要所有的 png jpg pdf 文件,该怎么办呢?

可以scandir得到文件列表,或者while配合readdir读取文件列表(上面有例子),然后循环得到后缀名,然后进行判断(这是比较传统正统的思维方式 代码方便理解维护)

复制代码
<?php
$list = scandir(".");
foreach ($list as $value) {
    // Get file extension. 获取文件后缀名 方法太多了 这里简单举个例子
    $ext = pathinfo($value)['extension'];
    if (in_array($ext, array('jpg', 'pdf', 'png'))) {
        //Do something 做你需要的业务逻辑
        var_dump($value);
    }
}
复制代码

这里提供另外一种思路,使用glob迅速获取内容:

<?php
var_dump(glob('./*.{jpg,pdf,png}',GLOB_BRACE));

这种代码可以直接根据后缀名和文件路径进行读取判断过滤。

posted @   李照耀  阅读(23499)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示