• 締切済み

php、並び替え、サーバーの負担などについて

すいません。php初心者なのですが、ある写真とコメントを任意の順番で並び替えができるような プログラムを作りました。 チェックボックスやラジオボタンで新着順、季節順、古い順、お気に入り順・・などで並び替えができるサイトで、一ページあたり200枚表示するので全部で25ページです。(写真自体が5000ほどありますので) 初めてのプログラミングでどのように組めばよいのかわからなかったのですが、 div~/divで囲んだ中に写真と説明コメントを入れ(htmlで記述)、それをphpファイルとして保存。これを写真の数だけ作り、phpで並び替えて、phpで表示。 (つまりphpファイルが5000個できあがります) とりあえず動作自体は自分の思ったとおり動いたのですが、 例えば、20人くらいが同時に並び替えをして、表示した場合、サイトが重くなったりしますでしょうか? 気になるのが5000個もあるphpファイルでして、phpで呼び出す場合、phpファイルが最も負担が少ないと聞きましたのでそのようにしました(最初はメモ帳に記載していましたが呼び出す際に遅くなると他の人い言われました) 現在100個ほどphpファイルを作りましたが、相当労力が必要でして、このまま続けても重くなって 使い物にならないなら困るので質問しました。 よろしくお願いします。

みんなの回答

  • tracer
  • ベストアンサー率41% (255/621)
回答No.2

壮大な勘違いをされているようです。 通常、そのような仕組みを作るのに、phpファイルは1つで十分です。 phpなどのプログラムの目的は、自動化であり、更新を簡単にすることです。 cinnronさんが例にしたものは、そのどちらとも叶っていません。 たとえば、5000個のphpの中の画像パスが変わった時、再び5000個のphpを編集するのでしょうか? つまり、その例の場合、phpを使う意味がほとんどありません。(並び替えの部分をどうやってるか分かりませんが) 配列、もしくは連想配列をご存知でしょうか。 詳しくは説明しませんが、例えばこんな感じで5000個の要素の配列を作れば、1つのphpで5000個の画像セットが作れます。 ---------------------------------------------------- //画像配列 $path="/iamges/"; $img_array=Array(  Array('path'=>$path.'1jpg','alt'=>'画像の説明1','width'=>500,'height'=>300),  Array('path'=>$path.'2jpg','alt'=>'画像の説明2','width'=>500,'height'=>300),  Array('path'=>$path.'3jpg','alt'=>'画像の説明3','width'=>500,'height'=>300),  ・・・・以下画像数分の要素 ); //画像を呼び出す関数 function getImg($n){  global $img_array;  $img=$img_array[$n];  return "<div><img src='{$img['path']}' alt='{$img['alt']}' width='{$img['width']}' height='{$img['height']}'></div>"; } //画像育成 print getImg(1); //<div><img src='/images/1.jpg' alt='画像の説明1' width='500' height='300'></div>が出力される。 ---------------------------------------------------- 上記のような方法で動きますが、より更新を簡単にするために、画像情報をCSVにしたり、DBに格納したりする場合もあります。5000という枚数ならば、通常はDBを使うケースがほとんどでしょう。もっとも、質問文を見る限り、cinnronさんがDBに手を出すには早いと思うので、まずは、配列について学習されることをおすすめします。 >phpで呼び出す場合、phpファイルが最も負担が少ない DBや配列を使えば必要がなくなりますが、そういう話は聞いたことがないですね。どこのソースですか? 仮にそうだとしても、あまり気にするような差ではない気がします。

関連するQ&A