使用目录填充选择框

时间:2015-06-24 15:01:33

标签: php drop-down-menu

我有以下代码。我希望在评论中做些什么来填充带有目录名称的选择框。我该怎么做?

$path = 'repository/' . $name[0];
$results = scandir($path);

foreach ($results as $result) {
if ($result === '.' or $result === '..') continue;

if (is_dir($path . '/' . $result)) {
    //extract directory names and populate selectbox
  }
}

3 个答案:

答案 0 :(得分:1)

也许最简单:

echo "<select name=\"something\">";
foreach(glob("repository/{$name[0]}/*", GLOB_ONLYDIR) as $dir) {
    echo "<option>$dir</option>";
}
echo "</select>";

答案 1 :(得分:0)

快速而肮脏的解决方案,假设结果是您要显示的目录:

echo '<select id="directories" name="directories">';
foreach ($results as $result) {
if ($result === '.' or $result === '..') continue;

if (is_dir($path . '/' . $result)) {
    echo '<option value="' . $result . '">' . $result . '</option>';
  }
}
echo '</select>';

答案 2 :(得分:0)

也许我不理解这个问题,但肯定只是:

<?php

$selectString = '<select>';

$path = 'repository/' . $name[0];
$results = scandir($path);

foreach ($results as $result) {
    if ($result === '.' or $result === '..') {
        continue;
    }

    if (is_dir($path . '/' . $result)) {
        $selectString .= "<option>{$result}</option>";
    }
}
$selectString .= "</select>"

然后,您可以将$selectString放在任何需要的位置。