使用目录内容填充下拉<ul> </ul>

时间:2013-02-14 01:46:40

标签: php html twitter-bootstrap

我试图编写一个简单的php脚本,它将使用目录的文件内容填充下拉无序列表。特别是.wav文件。我使用HTML和Bootstrap这样做。

以下是我一直在努力的清单:

<ul class="nav">
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">
            <h4 style="color: #333333">Select a Sound -</h4> <b class="caret"></b>
          </a>

          <ul class="dropdown-menu">
            <li><a href="#">Moose.wav</a></li>
            <li><a href="#">Duck.wav</a></li>
            <li><a href="#">Goose.wav</a></li>
          </ul>
        </li>
</ul>

<?php 
          foreach(glob('sounds/*.wav') as $filename){
          $rest = substr($filename, 7);    
          echo "<option>".$rest."</option>";
          }
?>

现在它已经填充了硬编码值,Moose,Duck等。 。 。我一直在研究这个PHP脚本,我只是不知道如何将这两者结合起来。

3 个答案:

答案 0 :(得分:3)

这是你正在寻找的吗?

<ul>
<?php 
      foreach(glob('sounds/*.wav') as $filename){
      $rest = substr($filename, 7);    
      echo "<li><a href='#'>".$rest."</a></li>";
      }
    ?>
</ul>

答案 1 :(得分:1)

我写这篇文章时假设您提供的所有代码都按预期完美运行。

<ul class="nav">
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">
            <h4 style="color: #333333">Select a Sound -</h4> <b class="caret"></b>
          </a>

          <ul class="dropdown-menu">
            <?php foreach(glob('sounds/*.wav') as $filename){
              $rest = substr($filename, 7);    
              echo "<li>".$rest."</li>";
            }
            ?>
          </ul>
        </li>
</ul>

我们的想法是编写一个PHP循环来生成列表项。此循环将驻留在标记内,从而生成列表。

答案 2 :(得分:0)

您可以使用basename()仅获取文件名,不需要substr()

<ul class="nav">
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">
            <h4 style="color: #333333">Select a Sound -</h4> <b class="caret"></b>
          </a>

          <ul class="dropdown-menu">
          <?php foreach(glob('sounds/*.wav') as $filename):?>
             <li><a href="#"><?php echo basename($filename);?></a></li>
          <?php endforeach;?>
          </ul>
        </li>
</ul>