2011-12-02 8 views
0

私は、サーバ上の画像フォルダからドロップダウンボックスにすべてのファイルをリストするスクリプトを持っています。phpでディレクトリファイルを表示

$dir='images'; 

$list=scandir($dir); 

if(isset($_POST['submit'])) echo 'Selected: ' . $_POST['image']; 

    foreach($list as $file) 
    { 
     //ignore . (current dir) and .. (parent dir) 
     if($file!=='.'&&$file!=='..') 
     { 
      echo "<option value=\"$file\""; 
      if(isset($_POST['submit'])&&$_POST['image']==$file) echo 'selected="selected"'; 
      echo ">$file</option>"; 
     } 
    } 

私がやっているのは、その画像が表示されている画像のファイル名が選択されたときです。

echo "<img src='images/". $file ."' />"; 

ファイルverableを使用しようとしましたが、ディレクトリ内の最後のイメージを表示するために継ぎ目があります。これを修正するにはどうすればいいですか?

+1

ユーザーが値を変更してフォームを送信したとき、またはJavaScriptを使用して瞬時にフォームを送信したときに意味がありますか? –

答えて

0

フォームのロード時にこれを行うことを意味している場合、私は

if(isset($_POST['submit'])&&$_POST['image']==$file) 
{ 
    echo 'selected="selected"'; 
    $selected_file = $file; 
} 

if(isset($_POST['submit'])&&$_POST['image']==$file) echo 'selected="selected"'; 

を交換すると言うだろうが、この代わりに

echo "<img src='images/". $selected_file ."' />"; 

ため現時点では、それは最後に最後のものがロードされます。foreach

1

これはJavascriptで行う必要があります。 PHPスクリプトが読み込まれると、ユーザーウィンドウに何が起こっているか知る人はいません。オプショングループのonChangeにイベントリスナーを作成することもできます。選択が変更されると、プレビューの表示に使用されているイメージタグのsrcを置き換えることになります。

JqueryやsimliarなどのJSライブラリを使用して、イベントリスニングやDOM操作を支援することを強くお勧めします。その後、

+1

http://api.jquery.com/change/表示されている例は適切な出発点であり、必要に応じて簡単に変更できます。 – Bruce