我正在尝试使用php查看文件夹,其中将有五个文件夹....我想将名称显示为文件夹作为ul,并将该文件夹文件的名称显示为li ... ..
这是我的代码我为了创建内部li而创建了但我找到了文件夹名称
$counter = 0;
$location = "main_folder";
$main_directory = $_SERVER['DOCUMENT_ROOT'] . "/sandbox/{$location}/";
$dir = opendir ($directory);
while (false !== ($file = readdir($dir))) {
if ($file != "." && $file != "..") {
$id = str_replace('.png', '', $file);
$display_name = str_replace('-', ' ', $id);
echo "<li data='{$id}'>{$display_name}</li>"
$counter++;
}
}
文件夹结构就像这样
main_folder/inner1/Dog-Park.png Cat-Store.png .....
main_folder/inner2/...
main_folder/inner3/...
main_folder/inner4/...
main_folder/inner5/...
这就是我想要的最终结果
<ul style='display:none;' rel='inner1' class='left_ul'>
<li data='Dog-Park'>Dog Park</li>
<li data='Cat-Store'>Cat Store</li>
<li data='Add-Gratuity'>Add Gratuity</li>
...
...
...
</ul>
有关如何处理文件夹的任何想法
答案 0 :(得分:1)
你应该在opendir()中有一个opendir()(原谅我的格式化):
$dir = opendir ($directory);
while (false !== ($file = readdir($dir))) {
if ($file != "." && $file != ".." && file_type($file) == 'dir') {
echo '<ul>';
$dir2 = opendir ($directory.'/'.$file);
while (false !== ($file2 = readdir($dir2))) {
if ($file2 != "." && $file2 != ".." && file_type($file2) == 'file') {
$id = str_replace('.png', '', $file);
$display_name = str_replace('-', ' ', $id);
echo "<li data='{$id}'>{$display_name}</li>"
}}
closedir($directory.'/'.$file);
Echo '</ul>';
}
}