• 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));

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

  • 相关阅读:
    php常用函数总结
    PHP常用函数(收集)
    Web开发者的最爱 5个超实用的HTML5 API
    打开MySQL数据库远程访问的权限
    centos yum 安装问题
    CentOS6.4安装VNC
    删:Centos 7安装Nginx 1.8
    centos6.3安装nginx
    MySQL5.7重置root密码
    CentOS下MySQL忘记root密码解决方法【转载】
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/6428469.html
Copyright © 2020-2023  润新知