从图像文件树创建一个选择下拉列表&使用PHP的子目录

时间:2010-10-11 15:50:01

标签: php wordpress forms opendir

我正在创建一个wordpress元框,我需要在模板中扫描包含图像的子目录,然后将它们添加到选择下拉列表中,以便我可以在模板中使用文件名。

图像目前安排在如下文件夹中:

父文件夹
| _辅助文件夹
| _ Image.png
| _ Image.jpg
| _ Image.gif
| _辅助文件夹
| _ Image.png
| _ Image.jpg
| _ Image.gif

理想情况下,我希望将该结构保留在我的选择下拉列表中,即

辅助文件夹。
| _ Image.png

我一直在用这个:

function get_dir_path(){
    return dirname(__FILE__).'/library/images';
}
$largeImagesdir = get_dir_path() . '/960x345/';


    if ($dh = opendir($largeImagesdir)) {
        while (($file = readdir($dh)) !== false) {
            $lfiles .= '<option>' . $file . '</option>';
        }
        closedir($dh);
    }

    $buildbox .= '<select>' . $lfiles . '</select>';

然而,这当然只有在我将$ largeImagesdir var设置为子目录之一时才有效...

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

循环中需要一个循环。假设只有2个级别的目录,在while检查$file是否是is_dir()的子目录,如果是,则执行readdir()以构建其选项。

然后,您可以在<select>元素中按optgroup区分子目录。

如果您需要多个不同级别的子目录,则需要一个递归函数来处理它。显示的here是一个很好的起点。