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