博客
关于我
php获取文件夹中文件的两种方法
阅读量:793 次
发布时间:2023-03-01

本文共 1178 字,大约阅读时间需要 3 分钟。

传统方法读取文件夹内容的实现

在实际开发中,读取某个文件夹下的内容是一个常见操作。传统方法主要使用 opendir 和 readdir 结合 while 循环来实现文件遍历,同时过滤当前文件夹和父文件夹。

以下是传统方法的具体实现代码:

function readFolderFiles($path) {    $list = [];    $resource = opendir($path);    while ($file = readdir($resource)) {        // 排除根目录        if ($file != ".." && $file != ".") {            if (is_dir($path . "/" . $file)) {                // 子文件夹,进行递归                $list[$file] = readFolderFiles($path . "/" . $file);            } else {                // 根目录下的文件                $list[] = $file;            }        }    }    closedir($resource);    return $list ?: [];}

方法二:使用 scandir 函数优化文件夹扫描

除了传统方法,使用 scandir 函数可以更高效地扫描文件夹内容,替代传统的 while 循环读取。

以下是使用 scandir 的优化实现代码:

function scandirFolder($path) {    $list = [];    $temp_list = scandir($path);    foreach ($temp_list as $file) {        // 排除根目录        if ($file != ".." && $file != ".") {            $file_path = $path . "/" . $file;            if (is_dir($file_path)) {                // 子文件夹,继续递归                $list[$file] = scandirFolder($file_path);            } else {                // 常规文件                $list[] = $file;            }        }    }    return $list;}

以上两种方法各有优势,具体选择取决于实际需求。

转载地址:http://motfk.baihongyu.com/

你可能感兴趣的文章
php各种缓存策略对比
查看>>
RabbitMQ高级特性 - 消息分发(限流、负载均衡)
查看>>
php后台“爬虫”模拟登录第三方系统
查看>>
php后台的在控制器中就可以实现阅读数增加
查看>>
php命令行生成项目结构
查看>>
php命名空间
查看>>
PHP命名空间带来的干扰
查看>>
PHP和MySQL Web开发从新手到高手,第1天-搭建PHP开发环境
查看>>
php商店管理系统,基于PHP的商店管理系统.doc
查看>>
PHP四大主流框架的优缺点总结
查看>>
PHP图片处理—PNG透明缩放并生成灰图
查看>>
php在liunx系统中设置777权限不起作用解决方法
查看>>
PHP基于openssl实现的非对称加密操作
查看>>
php基本符号大全
查看>>
php基础篇-二维数组排序 array_multisort
查看>>
php基础配置环境变量
查看>>
php增删改查封装方法
查看>>
springboot之jar包Linux后台启动部署及滚动日志查看且日志输出至文件保存(超级详细)
查看>>
php多条件筛选功能的实现
查看>>
php多线程
查看>>