有没有一种方法可以像这样使用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类。