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 两种循环递归遍历目录的示例。

相关推荐
大鸡腿同学14 分钟前
身弱体质|你的 FM 该关了📻
后端
叠层归一研究院18 分钟前
AGI 系统(八):符号范畴嵌入函子 — SymCat ↪ C_M107 严格化
c语言·开发语言·人工智能·算法·transformer·agi
明朝百晓生31 分钟前
Deep RL learning[2026/8]
开发语言·javascript·人工智能
Csvn1 小时前
📊 SQL 入门 Day 18:索引原理
后端·sql
Csvn1 小时前
🐍 Day3 : Python 容器精讲 — list、dict、set、tuple 底层实现与高级操作
后端·python
用户938515635071 小时前
ESLint 代码规范完全指南——从 AST 原理到 flat config 逐行解析
javascript·后端·代码规范
用户938515635071 小时前
深入理解 Next.js:从 SPA 的 SEO 问题到约定式路由与 SSR 原理
前端·后端·全栈
weixin-a153003083161 小时前
python-装饰器
开发语言·python
我的xiaodoujiao1 小时前
快速学习Python基础知识详细图文教程17--类型注解和断点调试
开发语言·python·学习·测试工具
叠层归一研究院2 小时前
AGI 系统(五):多主体 AGI 网络 — 分布式符号边界上的时序差同构传播
分布式·php·agi