搜索
首页后端开发php教程php使用递归遍历指定文件夹内的文件实现方法

下面小编就为大家带来一篇PHP递归遍历指定文件夹内的文件实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

今天早上在地铁上看了关于文件和文件夹的一章,正好最近刚搞懂linux的文件系统,觉得对文件属性的访问跟Shell命令很像,所以想晚上来实践一下。

发现php的文件夹函数好像没有提供遍历文件夹下的所有文件(包括子目录中的文件),于是,就想自己实现一个。

在写的时候发现一些操作文件夹的函数并不是自己想的那样。比如,dirname()根据提供的完整文件路径来取得文件所在的文件夹的路径,但如果你传入的是文件夹,它取的就是它的父文件夹。这点要明白。basename()也是同样的道理,传入文件夹路径取得就是文件夹的名字。这两个函数返回的结果结尾都不加'/'

<?php
$dirPath=&#39;/home/WWW/Test&#39;;//目录,结尾不加&#39;/‘

//执行遍历
recursion_readdir($dirPath);

/**
*@summary 重复times次字符char
*@param $char 需要重复的字符
*@param $times 重复次数
*@return 返回重复字符组成的字符串
*/
function forChar($char=&#39;-&#39;,$times=0){
  $result=&#39;&#39;;
  for($i=0;$i<$times;$i++){
    $result.=$char;
  }
  return $result;
}

/**
*@summary  递归读取目录
*@param $dirPath 目录
*@param $Deep=0 深度,用于缩进,无需手动设置
*@return 无
*/
function recursion_readdir($dirPath,$Deep=0){
 $resDir=opendir($dirPath);
 while($basename=readdir($resDir)){
   //当前文件路径
   $path=$dirPath.&#39;/&#39;.$basename;
   if(is_dir($path) AND $basename!=&#39;.&#39; AND $basename!=&#39;..&#39;){
    //是目录,打印目录名,继续迭代
    echo forChar(&#39;-&#39;,$Deep).$basename.&#39;/<br/>&#39;;
    $Deep++;//深度+1
    recursion_readdir($path,$Deep);
   }else if(basename($path)!=&#39;.&#39; AND basename($path)!=&#39;..&#39;){
     //不是文件夹,打印文件名
     echo forChar(&#39;-&#39;,$Deep).basename($path).&#39;<br/>&#39;;
   }

 }
 closedir($resDir);
}

以上是php使用递归遍历指定文件夹内的文件实现方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
swsetup 是什么文件夹swsetup 是什么文件夹Feb 20, 2023 pm 04:51 PM

swsetup是惠普软件的一个备份文件夹,如果使用系统恢复盘恢复系统、系统文件、随机软件、驱动,都可以在这个文件夹中找到;swsetup文件夹可以删除,如果用户需要更大的可用硬盘空间,可以删除此目录,不会影响用户。

如何调整Win10文件夹字体大小?如何调整Win10文件夹字体大小?Jun 30, 2023 pm 08:02 PM

win10电脑文件夹字体大小怎么设置?win10文件夹字体大小设置方法是首先点击左下角开始,然后选择打开设置。很多小伙伴不知道怎操作,小编下面整理了文件夹字体大小设置方法步骤,如果你感兴趣的话,跟着小编一起往下看看吧!文件夹字体大小设置方法步骤1、首先点击左下角开始,然后选择打开设置。2、之后去点击“系统”。3、点击左侧的“屏幕”。4、在右边找到“更改文本、应用等项目的大小”。5、最后点击下拉,选择100%即可。以上就是【win10电脑文件夹字体大小怎么设置-文件夹字体大小设置方法步骤】全部内容

如何与其他人共享 OneDrive 文件或文件夹?如何与其他人共享 OneDrive 文件或文件夹?May 08, 2023 pm 06:42 PM

MicrosoftOneDrive允许用户将文件和文件夹存储在云上并从任何地方访问它们。如果您允许他们使用OneDrive应用程序,您还可以授予他们访问文件的权限。这使人们可以轻松地交换文件或文件夹。您还可以更改文件的访问权限,例如他们是否可以编辑或仅查看它,还可以添加密码以及到期日期。因此,即使您忘记停止访问某些文件,访问权限也会在指定日期后自动过期。在这篇文章中,我们将教你如何使用两种不同的方法在OneDrive中与他人共享文件或文件夹。如何在OneDrive中与人共享文件或文件夹方法

如何为所有文件夹在Windows 11中设置相同的文件夹视图?如何为所有文件夹在Windows 11中设置相同的文件夹视图?Apr 26, 2023 pm 10:31 PM

在Windows中,我们可以在文件资源管理器中查看文件夹、文件和其他文档。您可能已经观察到,很少有文件和文件夹具有较小的图标,而很少有较大的图标。因此可以理解,有一个定制选项可用。根据文件的性质,默认设置了不同的文件夹模板。例如,在包含照片的名为Picture的文件夹中,图像具有不同的视图。包含音乐文件的音乐文件夹将具有不同的模板。同样,对于文档、视频等文件夹,每个文件夹根据其类别包含不同的模板。您还可以选择文件夹的模板并将其设置为所有其他相同类型的文件夹。在本文中,我们将学习如何将文件夹视图应

如何在 Windows 11 和 10 中向受控文件夹访问添加或删除文件夹如何在 Windows 11 和 10 中向受控文件夹访问添加或删除文件夹Apr 18, 2023 pm 03:31 PM

微软推出了一种防病毒软件,有助于保护文件夹免受任何其他应用程序的攻击,称为Defender防病毒。在勒索软件攻击中,其中的所有文件夹和文件都受到攻击,您将无法使用它们,因为它将被另一个病毒进程锁定。因此,当您将文件夹添加到受控文件夹访问时,它会提供额外的安全性并防止这些勒索软件攻击。默认情况下,Windows将用户目录中的文档、图片、视频等文件夹添加到受控文件夹访问权限。您需要以系统管理员身份登录才能从受控文件夹访问中添加或删除文件夹。在这篇文章中,我们已经解释了一些可以做到这一点的方法。如何使

如何解决Python的文件夹未找到错误?如何解决Python的文件夹未找到错误?Jun 24, 2023 pm 04:32 PM

Python是一种流行的编程语言,但在使用中,经常会遇到一些错误。其中一个常见的错误是“文件夹未找到”。这个错误很容易让新手或者不熟悉Python的人感到困惑。在本文中,我们将讨论如何解决这个问题。1.确认文件夹路径是否正确在Python中,处理文件和文件夹的时候,需要指定文件和文件夹的路径。如果路径设置错误,那么就会导致程序无法找到文件夹。因此,我们需要先

Win11系统怎么显示隐藏文件夹Win11系统怎么显示隐藏文件夹Jun 29, 2023 am 11:50 AM

Win11系统怎么显示隐藏文件夹?我们日常使用电脑的时候,会有些比较私密文件储存在电脑上,因为比较私密所以不想要别人看到,这种情况我们可以选择隐藏文件夹,需要的时候也可以显示出来,如果你不知道如何隐藏显示文件夹,小编下面整理了Win11系统显示隐藏文件夹教程,感兴趣的话,一起往下看看吧!Win11系统怎么显示隐藏文件夹1、右键点击想要隐藏的文件夹,选择属性,在里面勾选【隐藏】。确定后这个文件夹就是隐藏的状态,一般情况下别人看不到。文件也可按此方法隐藏起来。如何把隐藏文件夹显示出来1、在本地磁盘里

文件夹变成exe文件是什么病毒文件夹变成exe文件是什么病毒Jul 11, 2023 am 10:28 AM

文件夹变成exe文件是文件夹病毒,其处理方法有:1、确保计算机安装了最新的杀毒软件;2、不要打开未知来源的电子邮件附件或下载可疑的网络文件;3、定期备份计算机的重要文件也是一项重要的防范措施。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具