0

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 変数をサブディレクトリの 1 つに設定した場合にのみ機能します...

誰でも助けることができますか?

4

1 に答える 1

0

ループの中にループが必要です。ディレクトリが 2 レベルのみであると仮定すると、が のサブディレクトリであるwhileかどうかを確認し、そうである場合は、そのオプションを構築するためにそれも実行します。$fileis_dir()readdir()

optgroup次に、要素内でサブディレクトリを区別できます<select>

複数の異なるレベルのサブディレクトリが必要な場合は、それを処理するための再帰関数が必要になります。ここに示されているものは、良い出発点です。

于 2010-10-11T20:11:04.193 に答える