2011年6月26日日曜日

PHPで写真共有サイト構築 -4 写真アップ表示

今回はthumbnail画像をクリックした際の実際のimage用(target)写真の表示。

実は前回のList表示のソースで以下のように画像クリック時にimgview.phpという処理を呼び出すようにしていた。その処理。
echo "";
  echo "";
thumbnail画像をクリックしてやりたいことは、

  • target画像(大きい画像)の表示
  • List表示時の前後のファイルへの移動
で、ポイントは
  1. target写真のパスと、image用写真ディレクトリパスを引数で受け取る
  2. image用写真ディレクトリパスから全ファイルを取得し、mageファイルをソート順で取得
  3. 2で取得した情報とtarget写真パスで、target写真の前後の写真パスを取得
まず、1のパスの取得は今まで通り取得し2のファイルソートも前回のList表示時のソート処理と同様に取得。
 read())){
  //ファイル名配列に順に入れていく
  array_push($array_file, $file_name);
}
sort($array_file);
$ch_dir -> close();
つづいて3のtargetの前後写真のパス取得は、以下のような簡単なロジック。
$getFlg = FALSE;
//ディレクトリ内の画像を一覧表示
foreach ($array_file as $key => $val) {
  $file_name = $val;
  if ($file_name !== "." && $file_name !== "..") {
    $image_path = $dir_path .$file_name;

//    echo $image_path ."
";
    if ($getFlg) {
      $next_file = $image_path;
      break;
    }
    if ($target_file == $image_path) {
      $getFlg = TRUE;
    }
    if (!$getFlg) {
      $before_file = $image_path;
    }
  }
}
最後に、それらの情報を表示する。
if ($before_file){
  echo "前の写真";
}

//画像かどうか?
if (@getimagesize($target_file)){
  echo "";
}

if ($next_file){
  echo "次の写真";
}
ダウンロードボタンを作ってよかったけど、今回は画像Listからの一括ダウンロード処理を対応するようにしたので、ここにはなし。

ということで、次回は最後のファイルダウンロード処理。

0 件のコメント: