画像を管理するプログラムで、画像を追加する際に、既存の画像と同じバイナリのものは追加しないようにしたいです。

スマートな方法を教えてください。
画像追加の際に、画像のバイナリをbase64とかでstring化してそれにmd5とかcrc32とかでチェックサムを作って保存しておいて、
新たに追加の際はチェックサムに重複が無いかをチェックするのが良いかなと思っています。
よりよい方法を教えてください。

*環境
cakephp1.1+CentOS4.5+php4.X+mysql4.1

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/01/03 00:11:40
  • 終了:2008/01/10 00:15:03

回答(2件)

id:falcosapiens No.1

falcosapiens回答回数126ベストアンサー獲得回数132008/01/03 01:39:23

ポイント35pt

MD5を利用した例として

http://www.2chan.net/h/futaba.php.txt

~

プログラミングの容易さと実行速度を考えると「よりよい方法」はないように思えます。

精度をあげる方向で行くのであれば,

EOIマーカーの後につくゴミを削除してからmd5を出す方法が考えられます。

※JPEGは0xFFD9という値(EOIマーカー)で終了していなければならないが

 ウェブからダウンロードした場合にゴミがつく場合がある

 0xFFD900000・・・ など。

 この場合,画像の見た目は同じだがmd5は異なる。

~

チェックサム利用以外の方法がご希望だとすれば,答えになってないかも。

id:KUROX No.2

KUROX回答回数3542ベストアンサー獲得回数1402008/01/03 15:56:56

ポイント35pt

デジカメ画像というのを仮定した場合、

JPEGのExif情報を使うのがお手軽だと思います。

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/964jheadexif.h...

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません