2012-06-28 156 views
0

这是在我的服务器上的文件结构:打印每个子文件夹和子文件夹每一个PHP文件

htdocs/pdf/a/sub-a/file-01.pdf 
htdocs/pdf/a/sub-a/file-02.pdf 
htdocs/pdf/a/sub-a/file-03.pdf 

htdocs/pdf/a/sub-b/file-01.pdf 
htdocs/pdf/a/sub-b/file-02.pdf 
htdocs/pdf/a/sub-b/file-03.pdf 

htdocs/pdf/a/sub-c/file-01.pdf 
htdocs/pdf/a/sub-c/file-02.pdf 
htdocs/pdf/a/sub-c/file-03.pdf 

等等,很好,我想打印任何文件,任何这样的子文件夹列表:

<h3>sub-a</h3> 
<ul> 
<li>file-01.pdf</li> 
<li>file-02.pdf</li> 
<li>file-03.pdf</li> 
</ul> 

<h3>sub-b</h3> 
<ul> 
<li>file-01.pdf</li> 
<li>file-02.pdf</li> 
<li>file-03.pdf</li> 
</ul> 

<h3>sub-c</h3> 
<ul> 
<li>file-01.pdf</li> 
<li>file-02.pdf</li> 
<li>file-03.pdf</li> 
</ul> 

我的问题是我不知道如何获得在PHP代码中的列表。 有人可以帮助我吗?

感谢

+0

http://php.net/manual/en/class.recursivedirectoryiterator.php – PeeHaa

回答

1

你可能想看看READDIR和SCANDIR:http://php.net/manual/en/function.readdir.phphttp://www.php.net/manual/en/function.scandir.php。那里也有一些很棒的例子。 可能像这可能是工作(你需要有点tweek - 原抱歉的Windows编写的):

$dir = "htdocs/pdf/a/"; 
if ($handle = opendir($dir)) {     
    while (false !== ($file = readdir($handle))) { 
     if ($file != "." && $file != "..") { 
      $dir2 = "htdocs/pdf/a/".$file."/"; 
      echo "<h3>".ucwords(str_replace("-"," ",$file))."</h3><ul>"; 
      if ($handle2 = opendir($dir2)) { 
       while (false !== ($file2 = readdir($handle2))) { 
       if ($file2 != "." && $file2 != "..") {                           
        echo "<li>".$file2."</li>"; 

       } 
       } 
      closedir($handle2); 
      } 
      echo "</ul><hr size='1'>"; 
     } 
    }     
closedir($handle); 
}     
+0

非常感谢你 如果您有兴趣,这是最终结果(与HTML几个变化) http://www.amministrazioni-zucchetti.it/protezione/CM_acerbi_46_test.php – roybatty

+0

我有另一个问题,我怎么能显示空文件夹? – roybatty

相关问题