0

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

图像当前排列在文件夹中,如下所示:

父文件夹
|_ 二级文件夹
   |_ Image.png
   |_ Image.jpg
   |_ Image.gif
|_ 二级文件夹
   |_ Image.png
   |_ Image.jpg
   |_ Image.gif

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

辅助文件夹。
   |_ 图片.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 设置为子目录之一时才有效...

任何人都可以帮忙吗?

4

1 回答 1

0

你需要一个循环内的循环。假设只有 2 级目录,在您的while检查中是否$file是带有 的子目录is_dir(),如果是,则readdir()也对其进行操作以构建其选项。

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

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

于 2010-10-11T20:11:04.193 回答