-2

サーバー上のディレクトリからのファイルを選択した入力に入力したいと思います。私のコードは、drupalモジュールでは以下のように機能しますが、スタンドアロンのphpファイル(Drupalモジュールとフレームワークの外部を意味します)では機能しません。このコードはPHPであり、Drupalに固有のものではありません。

はい、phpファイルで必要です。jquery/ Ajaxを介して呼び出しているためです。別の選択入力が、ファイルが配置されているサブディレクトリ($ subdir)を呼び出しているためです。

絶対パス(http:// ...)も試しましたが、役に立ちませんでした。これが私のモジュールで完全に機能することは私には意味がありませんが、.phpファイルをプルアップすると出力がありません。 編集:出力があります。選択ボックスが表示されますが、オプションが表示されません。

なぜこれが機能しないのか誰かが知っていますか?これが私のコードです:

$subdir = 'mysubdirectory';
$directory = 'sites/default/files/product_updates/' . $subdir;

$subdiroptions = '';

$files = glob($directory . '/*');

if(count($files > 0)) {
    foreach($files as $file) {
        $file = basename($file);
        $subdiroptions .= '<option value="' . $fiile . '">' . $file . '</option>';
    }
}

echo '<select>' . $subdiroptions . '</select>';
4

1 に答える 1

0

ディレクトリ ツリーの相対ポイントからディレクトリ ツリーをスキャンしています。

echo dirname(__FILE__) . $directoryを実行して、スキャンしているパスを確認できます。

これを試してみるべきだと思います:

$subdir = 'mysubdirectory';
$directory = '/sites/default/files/product_updates/' . $subdir;

さらに良い解決策は、絶対パスを作成することです!

于 2012-09-19T20:27:53.277 に答える