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