php找到文件夹的名称,然后找到那里的文件?

时间:2011-08-10 19:14:39

标签: php file readdir

我正在尝试使用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>

有关如何处理文件夹的任何想法

1 个答案:

答案 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>';
            }       
     }