Php 如何从嵌套文件夹中获取文件并进行装饰以正确显示
如标题所示。Php 如何从嵌套文件夹中获取文件并进行装饰以正确显示,php,file,directory,Php,File,Directory,如标题所示。 如何从嵌套文件夹中获取文件并进行装饰以正确显示。 我成功地从嵌套文件夹中获取了文件,但显示不正确且无序 这是我的尝试: function getfiles($Folder) { $dir = opendir($Folder); while ($files = readdir($dir)) { if ($files == '.' || $files == '..') continue; if (is_dir($
如何从嵌套文件夹中获取文件并进行装饰以正确显示。
我成功地从嵌套文件夹中获取了文件,但显示不正确且无序 这是我的尝试:
function getfiles($Folder) {
$dir = opendir($Folder);
while ($files = readdir($dir)) {
if ($files == '.' || $files == '..')
continue;
if (is_dir($Folder.'/'.$files)) {
getfiles($Folder.'/'.$files);
}
echo $files."<br/>";
}
}
您没有说明所需的输出是什么 例如,您可以以缩进的形式显示深度:
function getfiles($Folder) {
static $depth;
$depth++;
$dir = opendir($Folder);
while ($files = readdir($dir)) {
if ($files == '.' || $files == '..')
continue;
if (is_dir($Folder.'/'.$files)) {
getfiles($Folder.'/'.$files);
}
echo str_repeat('- ', $depth).$files."<br/>";
}
$depth--;
}
您没有说明所需的输出是什么 例如,您可以以缩进的形式显示深度:
function getfiles($Folder) {
static $depth;
$depth++;
$dir = opendir($Folder);
while ($files = readdir($dir)) {
if ($files == '.' || $files == '..')
continue;
if (is_dir($Folder.'/'.$files)) {
getfiles($Folder.'/'.$files);
}
echo str_repeat('- ', $depth).$files."<br/>";
}
$depth--;
}
你说的错误和无序是什么意思?是否只保留整个列表的树结构?两者都=无序。是的,树结构你说的不正确和无序是什么意思?是否只保留整个列表的树结构?两者都=无序。是的,树形结构或者只使用
/
=)很好,但是无序。我想显示每个文件夹,它的文件在下面,或者树状结构实际上它列出了每个文件夹及其下面的文件。你是说它没有分类?使用scandir()进行此操作。是的,未排序。你能告诉我一个目录迭代器的小例子吗?谢谢,我想用普通的方式对文件夹及其文件进行排序,但是scandir()不喜欢。或者只使用
/
=)很好,但是无序。我想显示每个文件夹,它的文件在下面,或者树状结构实际上它列出了每个文件夹及其下面的文件。你是说它没有分类?使用scandir()进行此操作。是的,未排序。你能告诉我一个目录迭代器的小例子吗?谢谢,我想用普通的方式对文件夹及其文件进行排序,但是scandir()不喜欢。
function getfiles($Folder) {
echo '<ul>';
$dir = opendir($Folder);
while ($files = readdir($dir)) {
if ($files == '.' || $files == '..')
continue;
if (is_dir($Folder.'/'.$files)) {
getfiles($Folder.'/'.$files);
}
echo '<li>'.$files."</li>";
}
echo '</ul>';
}
function getfiles($Folder) {
$dir = scandir($Folder, 0); // 0 for ascending order, in PHP from 5.4 use SCANDIR_SORT_ASCENDING
foreach ($dir as $files) {
if ($files == '.' || $files == '..')
continue;
if (is_dir($Folder.'/'.$files)) {
getfiles($Folder.'/'.$files);
}
echo $files."<br/>";
}
}