• ベストアンサー

サムネイルの取り扱いについて

PHP+MYSQLで、画像掲示板を作っています。 画像のサムネイルを表示させたいのですが、サムネイルの取り扱い方を教えてください。 ちょっと、考えたところ、 (1)アップロード時に、元の画像ファイルを保存した後、サムネイルの画像ファイルを作成して保存する。 サムネイル表示の際は、サムネイル用の画像をそのまま呼び出す。 (2)元画像のみを保存しておき、サムネイルを表示させる場合は、元画像からサムネイルに変換して表示させる。 の二つの方法が思いつきましたが、 一般的には、どちらを使うのでしょうか? 処理速度を考えて、(1)の方が良いかと思うのですが。。。 あと、(1)の処理を行う場合、サムネイル作成スクリプトのサイトがあれば、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

頻度と画像の枚数にもよりますが・・・ (3)とりあえずアクセスされたらサムネイルをつくり、mysql上に保存。 定期的にcronなどで、クリアにするsqlをはしらせ一定期間参照がない場合は 削除するというやり方はどうでしょうか? 一度使われたデータは、すぐまた使われる可能性がたかく、一度も使われ ないデータはずーっと使われないというキャッシュ的な考え方です。

xyz_1990
質問者

お礼

ご回答、ありがとうございます。 確かに、その方法だと、(1)と(2)の良いとこ取りができますね。 今回は、(1)の方法で進めることにしましたが、機会があれば、使わせていただきます。

その他の回答 (1)

回答No.1

断然(1)です。サムネイル作成にはかなりサーバのCPUに負担がかかるからです。 (2)に唯一メリットが有るとすれば、サーバのデータ容量くらいですかね。 phpのサムネイルスクリプトはググればたくさん出てきます。ほとんどのものがGDライブラリを使っています。 http://aki.adam.ne.jp/php/thumb/download.php http://phpspot.org/blog/archives/2006/08/phpphp_thumbnai.html その他、ImageMagickをコマンドから呼び出してサムネイル作成というのもおススメです。その他のエフェクトも簡単なコマンドで出来るので面白いですね。 $fname = "ファイル名";$thum="サムネール名"; system("convert -geometry 30x30 $fname $thum "); http://mechanics.civil.tohoku.ac.jp/soft/node43.html 参考まで。

xyz_1990
質問者

お礼

ご回答ありがとうございます。 (1)の方法で、GDライブラリを利用することにしました。

関連するQ&A

専門家に質問してみよう