PHP 递归遍历目录

本篇文章主要内容为PHP 两种循环递归遍历目录的示例。

目录

while循环

foreach循环

调用及结果

总结


while循环

应用while循环和opendir、readdir函数处理读取路径下所有文件和目录。

具体代码如下:

php 复制代码
function getDir($path, $space = '')
{
    $dir = opendir($path);
    $space .= '--';
    while (($file = readdir($dir)) !== false) {
        if ($file != "." && $file != "..") {
            // 判断遍历的是否是一个目录
            if (is_dir($path . "/" . $file)) {
                echo $space . "目录:{$file}<br>";
                getDir($path . "/" . $file, $space);
            } else {
                echo $space . "文件:{$file}<br>";
            }
        }
    }
}

foreach循环

应用foreach循环和scandir函数处理读取路径下所有文件和目录。

具体代码如下:

php 复制代码
function getDir($path, $space = '')
{
    $space .= '--';
    $files = scandir($path);
    foreach ($files as $file) {
        if ($file != "." && $file != "..") {
            // 判断遍历的是否是一个目录
            if (is_dir($path . "/" . $file)) {
                echo $space . "目录:{$file}<br>";
                getDir($path . "/" . $file, $space);
            } else {
                echo $space . "文件:{$file}<br>";
            }
        }
    }
}

调用及结果

php 复制代码
$path = "C:\phpstudy_pro\www\mini";
getDir($path);

运行结果:

bash 复制代码
--目录:login
----文件:User.php
----文件:checkLogin.php
----文件:credit.php
----文件:login.php
----文件:users.log
--目录:music
----文件:1.mp3
----文件:2.mp3
----文件:3.mp3
----文件:4.mp3
--目录:shoplist
----目录:images
------文件:1.jpg
------文件:10.webp
------文件:2.webp
------文件:3.webp
------文件:4.jpg
------文件:5.webp
------文件:6.webp
------文件:7.webp
------文件:8.webp
------文件:9.webp
----文件:index.php

总结

本篇文章主要内容为PHP 两种循环递归遍历目录的示例。

相关推荐
独泪了无痕12 小时前
Spring Data Redis 快速上手
spring boot·redis·后端
2501_9445215912 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理13 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
漠月瑾-西安13 小时前
PHP曝出两个严重RCE漏洞:CVE-2026-109618、CVE-2026-109619技术分析与修复指南
网络安全·php·漏洞分析·漏洞修复·远程代码执行
wangchunyu11414 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
程序 代码狂人15 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
m0_6399069416 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
meiying883816 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
holly就是我17 小时前
AI 编程助手为什么跑偏?用开源 ccglass 看清 Prompt、工具调用和 Token 消耗
人工智能·后端
鸿蒙开发17 小时前
共享 Schema 与 SchemaFactory
前端·后端·harmonyos