2012-06-28 198 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

相關問題