【问题标题】:Populate drop down <ul> with directory contents使用目录内容填充下拉 <ul>
【发布时间】:2013-01-29 18:20:24
【问题描述】:

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

【问题讨论】:

    标签: php html twitter-bootstrap


    【解决方案1】:

    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>
    

    【讨论】:

      【解决方案2】:

      我写这篇文章的前提是你提供的所有代码都可以按预期完美运行。

      <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 循环来生成您的列表项。这个循环将驻留在标签内,从而形成列表。

      【讨论】:

        【解决方案3】:

        这就是你要找的吗?

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

        【讨论】:

        • 我觉得差不多了。当我点击下拉菜单时,我看到的只是 ".$rest."";}?>
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多