从图像的文件树创建选择下拉列表&;使用PHP的子目录
我正在创建一个wordpress元框,我需要扫描包含模板中图像的子目录,并将其添加到选择下拉列表中,以便在模板中使用文件名 图像当前在文件夹中的排列方式如下: 父文件夹从图像的文件树创建选择下拉列表&;使用PHP的子目录,php,wordpress,forms,opendir,Php,Wordpress,Forms,Opendir,我正在创建一个wordpress元框,我需要扫描包含模板中图像的子目录,并将其添加到选择下拉列表中,以便在模板中使用文件名 图像当前在文件夹中的排列方式如下: 父文件夹 |_辅助文件夹 |_Image.png |_Image.jpg |_Image.gif |_辅助文件夹 |_Image.png |_Image.jpg |_Image.gif 理想情况下,我希望在我的select下拉列表ie中保留该结构 辅助文件夹。 |_Image.png 我一直在用这个: function get_dir_p
|_辅助文件夹
|_Image.png
|_Image.jpg
|_Image.gif
|_辅助文件夹
|_Image.png
|_Image.jpg
|_Image.gif
理想情况下,我希望在我的select下拉列表ie中保留该结构 辅助文件夹。
|_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>';
函数get\u dir\u path(){
返回dirname(_文件)'/library/images';
}
$largeImagesdir=获取路径()/960x345/';
如果($dh=opendir($largeImagesdir)){
while(($file=readdir($dh))!==false){
$lfiles.=''.$file';
}
closedir($dh);
}
$buildbox.=''$""文件",;
然而,这当然只有在我将$largeImagesdir变量设置为子目录之一时才起作用
有人能帮忙吗?你需要一个循环中的循环。假设只有两级目录,在
while
中,检查$file
是否是带有is_dir()
的子目录,如果是,也在该目录上执行readdir()
以生成其选项
然后,您可以通过在
元素中输入来区分子目录
如果需要多个不同级别的子目录,则需要一个递归函数来处理它。所示的是一个很好的起点。如果它不止一个级别,那么最好为一般情况编写代码并使其递归。@Chris,当然,我只是想让Kim先解决特定用例的问题。我已经为她提供了准备好处理一般情况的代码链接。谢谢大家,是的,我会先尝试最简单的方法,然后再看看一般情况:)