PHP 递归遍历目录

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

目录

while循环

foreach循环

调用及结果

总结


while循环

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

具体代码如下:

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函数处理读取路径下所有文件和目录。

具体代码如下:

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>";}}}
}

调用及结果

$path = "C:\phpstudy_pro\www\mini";
getDir($path);

运行结果:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/880686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【易上手快捷开发新框架技术】nicegui标签组件lable用法庖丁解牛深度解读和示例源代码IDE运行和调试通过截图为证

传奇开心果微博文系列 序言一、标签组件lable最基本用法示例1.在网页上显示出 Hello World 的标签示例2. 使用 style 参数改变标签样式示例 二、标签组件lable更多用法示例1. 添加按钮动态修改标签文字2. 点击按钮动态改变标签内容、颜色、大小和粗细示例代码3. 添加开关组件动…

PHP“===”的意义

在PHP中&#xff0c; 运算符被称为“恒等比较运算符”&#xff08;Identical Comparison Operator&#xff09;&#xff0c;它用于比较两个变量的值和类型是否完全相同。这个运算符与双等号 &#xff08;等值比较运算符&#xff09;不同&#xff0c;后者在比较时会对两边的值进…

美图AI短片创作工具MOKI全面开放 支持生成配乐、细节修改

人工智能 - Ai工具集 - 集合全球ai人工智能软件的工具箱网站 美图公司近日宣布&#xff0c;其研发的AI短片创作工具MOKI已正式向所有用户开放。这款专注于AI短片创作的工具&#xff0c;提供了包括动画短片、网文短剧等多种类型视频内容的生成能力&#xff0c;致力于为用户带来…

uni-app之旅-day02-分类页面

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言创建cate分支4.1 渲染分类页面的基本结构4.2 获取分类数据4.3 动态渲染左侧的一级分类列表4.4 动态渲染右侧的二级分类列表4.5 动态渲染右侧的三级分类列表4.6 …

linux上,进程管理

命令 ps aux 是一个在 Unix 和类 Unix 系统中非常常用的命令&#xff0c;用于显示当前系统中的运行中的进程信息。这个命令可以提供关于各个进程的详细信息&#xff0c;包括进程ID、CPU 和内存使用率、进程状态、启动时间等。让我们来详细解释一下 ps aux 命令的各个部分&#…

linux-CMake

linux-CMake 1.安装CMake工具2.单个源文件3.多个源文件4.生成库文件5.将源文件组织到不同的目录下6.可执行文件和库文件放置到单独的目录下7.常见的命令 CMake使用。 1.安装CMake工具 sudo apt-get install cmake2.单个源文件 1.先在文件夹里创建两个文件&#xff1a;main.c&…

Vscode超好看的渐变主题插件

样式效果&#xff1a; 插件使用方法&#xff1a; 然后重启&#xff0c;之后会显示vccode损坏&#xff0c;不用理会&#xff0c;因为这个插件是更改了应用内部代码&#xff0c;直接不再显示即可。

cesium实战代码

代码中有一点bug还没改 cesium地球 地形+地形 <html lang="en"><head><style>.cesium-animation-rectButton .cesium-animation-buttonGlow {filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain {fil…

Win32打开UWP应用

最近无意间发现Windows里一个神奇的文件夹。 shell:appsfolder 运行打开 这个文件夹后&#xff0c;你可以看到本机安装的所有应用程序。 我觉得这个挺方便的&#xff0c;所以做了一个简单的appFolderDialog包给C#用 项目地址&#xff1a;https://github.com/TianXiaTech/App…

React Native、Uni-app、Flutter优缺点对比

React Native、Uni-app、Flutter作为三种主流的跨平台开发框架&#xff0c;各自具有独特的优缺点。以下是对这三种框架的优缺点进行的详细对比&#xff1a; React Native 优点&#xff1a; 社区生态丰富&#xff1a;背靠Facebook&#xff0c;拥有庞大的社区支持和丰富的组件…

基于单片机的多路温度检测系统

**单片机设计介绍&#xff0c;基于单片机CAN总线的多路温度检测系统设计 文章目录 前言概要功能设计设计思路 软件设计效果图 程序设计程序 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探…

总结拓展十一:S4 HANA和ECC区别

第一节 S/4 HANA系统简介 SAP系统的产品线 R/1版本——主要财务模块R/3版本——基本实现全模块ECC6.0——2005年推出&#xff08;ECC是2004年推出&#xff09;HANA——数据库产品——属于内存数据库BW on HANA——HANA与数据分析相结合 拓展&#xff1a; 数据库类型&#x…

【如何在Linux系统本地快速部署Leanote蚂蚁笔记】

文章目录 前言1. 安装Docker2. Docker本地部署Leanote蚂蚁笔记3. 安装cpolar内网穿透4. 固定Leanote蚂蚁笔记公网地址 前言 本篇文章主要介绍如何在Linux系统本地快速部署Leanote蚂蚁笔记&#xff0c;并且结合cpolar内网穿透实现公网远程访问本地笔记编辑并制作个人博客等。 …

外卖点餐小程序源码系统 单店多门店自助切换 带完整的安装代码包以及搭建部署教程

系统概述 本外卖点餐小程序源码系统旨在帮助餐饮企业和商家快速搭建一个功能完善的在线外卖平台。系统支持单店与多门店的灵活切换&#xff0c;方便商家根据自身业务需求进行管理和运营。同时&#xff0c;系统还提供了丰富的营销工具和数据分析功能&#xff0c;助力商家实现精…

元数据驱动的设想

本文永久更新地址: 1.背景 针对相似结构的表单&#xff0c;为了提高ui自动化编写效率&#xff0c;减少以减少重复工作&#xff0c;设想是否可以设计一个针对neoUI2.0通过元数据驱动的方式适应不同业务对象的测试框架 2.设计元数据模型 - 字段名 - 字段类型 - 是否必填 -是…

双端搭建个人博客

1. 准备工作 确保你的两个虚拟机都安装了以下软件: 虚拟机1(Web服务器): Apache2, PHP虚拟机2(数据库服务器): MariaDB2. 安装步骤 虚拟机1(Web服务器) 安装Apache2和PHP 更新系统包列表: sudo apt update安装Apache2: sudo apt install apache2 -y安装PHP及其Apac…

【高中数学/对数/指数】已知函数f(x)=e^x-ln(x+m),求证m<=2时,证明f(x)>0

【问题】 已知函数f(x)e^x-ln(xm),求证m<2时&#xff0c;证明f(x)>0 &#xff08;2013年高考全国卷II理科第21题&#xff09; 【出处】 《高中数学解题思维策略》P30 例2-11 杨林军编著 【解答】 对于ye^x,总有e^x>x1 (x0时去等) 对于yln(xm),总有yxm-1>ln(…

动手学深度学习(李沐)PyTorch 第 3 章 线性神经网络

3.1 线性回归 线性回归是对n维输入的加权&#xff0c;外加偏差 线性回归可以看作是单层神经网络 回归问题中最常用的损失函数是平方误差函数。 平方误差可以定义为以下公式&#xff1a; 常数1/2不会带来本质的差别&#xff0c;但这样在形式上稍微简单一些 &#xff08;因为当…

《C++》解密--单链表

目录 一、概念与结构 二、实现单链表 三、链表的分类 四、单链表算法题 一、概念与结构 1、节点 结点的组成主要有&#xff1a;当前结点要保存的数据和保存下一个节点的地址&#xff08;指针变量&#xff09; 图中指针变量plist保存的是第一个结点的地址&#xff0c;我们称p…

第十七章:c语言内存函数

1. memcpy使⽤和模拟实现 2. memmove使⽤ 3. memset函数的使⽤ 4. memcmp函数的使⽤ 天行健 君子以自强不息一、memcpy的使用和模拟实现 作用&#xff1a; 1. 函数memcpy从source的位置向后复制num个字节的数据到destination指向的内存位置。 2. 这个函数在遇到‘\0’的时…