从多个文件夹输出文件



有没有一种方法可以像这样使用php输出文件夹及其文件

这是我的目录

文件夹/12345/file1.php

文件夹/446745/file1.php

folder/57756/file1.php

我试过这个。。。

$a = glob("folder/*");
foreach ($a as $key) {
echo $key."<br>";
}

但是输出会像这个

folder/12345
folder/46745
folder/57756

我正在努力使输出更像。。。

folder/12345
file.php
folder/46745
file1.php
folder/57756
file.php

我的观点是,一个文件夹中有多少文件应该输出到该文件夹下面。希望有人能帮我。感谢

您想要scandir:https://www.php.net/manual/en/function.scandir.php

scandir ( string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]] ) : array
Returns an array of filenames on success, or FALSE on failure.

示例:

$dirArr = ['folder/12345', 'folder/46745', 'folder/57756'];
foreach($dirArr as $dir){
$fileArr = scandir($dir);
echo $dir.'rn';
print_r($fileArr);
echo 'rn';
}

结果:

folder/12345
file1.php
file2.php
folder/46745
file1.php
folder/57756
file1.php
file2.php
file3.php

获取目录,循环它们,获取文件及其basename,并在<br>:上内爆

foreach(glob("folder/*", GLOB_ONLYDIR) as $dir) {
echo "$dir<br>";
echo implode("<br>", array_map("basename", glob("$dir/*"))) . "<br>";
}

或者查看RecursiveDirectoryTerator类。

最新更新