0

これは私のサーバーのファイル構造です:

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 コードでリストを取得する方法がわからないことです。誰でも私を助けることができますか?

ありがとう

4

1 に答える 1

1

readdir と scandir を参照してください: http://php.net/manual/en/function.readdir.phphttp://www.php.net/manual/en/function.scandir.php。そこにもいくつかの素晴らしい例があります。おそらく、このようなものが機能する可能性があります(多少調整する必要があります-元は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);
}                   
于 2012-06-28T11:08:02.250 に答える