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