PHP 计算 scandir 循环中的子目录级别
PHP count sub-directory levels in scandir loop
我得到了以下扫描目录并以下列格式输出文件和子文件夹的代码:
file1.php
folder1
file2.php
folder2
file3.php
file4.php
对于我的超链接,我需要引用具有级别数的链接。例如:file1.php、folder1 和 file4.php 都是第 1 级。file2.php、folder2 是第 2 级,file3.php 是第 3 级。
关于如何使用循环计数器实现此目的的任何建议?
$directory = $_SERVER["DOCUMENT_ROOT"]."/files/";
function folderFleList($dir, $menu_class){
$ffs = scandir($dir);
echo "<ul class=\"".$menu_class."\">\n";
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
echo '<li class="menu-item"><a href="#" class="menu-link-level-1">'.$ff;
if(is_dir($dir.'/'.$ff)) folderFleList($dir.'/'.$ff, "menu-sublist");
echo '</a></li>';
}
}
echo "</ul>\n";
}
folderFleList($directory, "menu-list");
只需为您的函数添加一个额外的参数:
function folderFleList($dir, $menu_class, $level = 1){
$ffs = scandir($dir);
echo "<ul class=\"".$menu_class."\">\n";
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
echo '<li class="menu-item">
<a href="#" class="menu-link-level-' . $level . '">'.$ff;
if(is_dir($dir.'/'.$ff))
folderFleList($dir.'/'.$ff, "menu-sublist", $level+1);
echo '</a></li>';
}
}
echo "</ul>\n";
}
folderFleList($directory, "menu-list");
我得到了以下扫描目录并以下列格式输出文件和子文件夹的代码:
file1.php
folder1
file2.php
folder2
file3.php
file4.php
对于我的超链接,我需要引用具有级别数的链接。例如:file1.php、folder1 和 file4.php 都是第 1 级。file2.php、folder2 是第 2 级,file3.php 是第 3 级。
关于如何使用循环计数器实现此目的的任何建议?
$directory = $_SERVER["DOCUMENT_ROOT"]."/files/";
function folderFleList($dir, $menu_class){
$ffs = scandir($dir);
echo "<ul class=\"".$menu_class."\">\n";
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
echo '<li class="menu-item"><a href="#" class="menu-link-level-1">'.$ff;
if(is_dir($dir.'/'.$ff)) folderFleList($dir.'/'.$ff, "menu-sublist");
echo '</a></li>';
}
}
echo "</ul>\n";
}
folderFleList($directory, "menu-list");
只需为您的函数添加一个额外的参数:
function folderFleList($dir, $menu_class, $level = 1){
$ffs = scandir($dir);
echo "<ul class=\"".$menu_class."\">\n";
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
echo '<li class="menu-item">
<a href="#" class="menu-link-level-' . $level . '">'.$ff;
if(is_dir($dir.'/'.$ff))
folderFleList($dir.'/'.$ff, "menu-sublist", $level+1);
echo '</a></li>';
}
}
echo "</ul>\n";
}
folderFleList($directory, "menu-list");