1

我正在尝试编写一个简单的 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 脚本,我只是不知道如何将两者结合起来。

4

3 回答 3

3

这是你要找的吗?

<ul>
<?php 
      foreach(glob('sounds/*.wav') as $filename){
      $rest = substr($filename, 7);    
      echo "<li><a href='#'>".$rest."</a></li>";
      }
    ?>
</ul>
于 2013-02-14T01:48:50.757 回答
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 循环来生成您的列表项。该循环将驻留在标签内,从而形成列表。

于 2013-02-14T01:51:18.940 回答
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>
于 2013-02-14T01:53:30.967 回答