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

相关推荐
Escalating_xu11 分钟前
C++可变参数模板与引用折叠精讲
开发语言·c++
wuyk55516 分钟前
59.嵌入式C语言高级宏定义实战:多行宏、字符串化与符号拼接
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·51单片机
神奇小汤圆19 分钟前
SpringBoot + 虚拟线程,简直鸟枪换大炮~
后端
云泽80822 分钟前
Visual Studio 2026 新手保姆级教程:环境搭建、界面优化与编译器配置详解
开发语言·c++·c·开发工具·visual studio
掘金一周38 分钟前
想问问掘友们:AI 时代,资深开发的核心价值到底在哪里?| 沸点周刊 7.23
前端·人工智能·后端
2zcode1 小时前
基于MATLAB深度学习的乳腺钼靶影像乳腺癌智能诊断系统设计与实现
开发语言·深度学习·matlab·乳腺癌
MoonBit月兔1 小时前
错过大赛报名?MoonBit 开源大赛- 8 月黑客松正式开启
开发语言·ai-native·moonbit
weixin_538601971 小时前
智能体测开Day31
开发语言·python
geovindu2 小时前
java: Facade Pattern
java·开发语言·后端·外观模式·结构型模式
listening7772 小时前
HarmonyOS 6.1 元服务深度优化:从“秒开”到“常驻”的极致体验
java·开发语言·spring