• 締切済み

2つのイメージファイルを比較する

PHPで2つのイメージファイルを比較して、それらが同じであるか異なるかを調べるにはどうすればよいでしょうか?

みんなの回答

  • yexob328
  • ベストアンサー率25% (1/4)
回答No.2

以下のように比べる2つのファイルを開いて比べるのはどうでしょう。 $file_name1 = '画像1'; $file_name2 = '画像2'; $fp1 = fopen("$file_name1", "r"); $img1 = fread($fp1, filesize($file_name1)); fclose($fp1); $fp2 = fopen("$file_name2", "r"); $img2 = fread($fp2, filesize($file_name2)); fclose($fp2); if($img1 == $img2){ print '同じ画像'; } else { print '違う画像'; }

wataj
質問者

お礼

yexob328さんの方法でもできると思います。 よくは分かりませんが、ファイルを開いた場合、 最後まで読み込んで処理するので、時間が掛かると思います。 サーバーの効率を考えたいので、別の方法でやってみますが、 アドバイス、ありがとうございました。

  • tecinfo
  • ベストアンサー率52% (32/61)
回答No.1

追加インストールが必要になりますが、xdiff関数で実現できるかと思います。

参考URL:
http://jp2.php.net/manual/ja/ref.xdiff.php
wataj
質問者

お礼

ご回答ありがとうございます。 早速、参考URLへ行って参りました。 サイトにはコードがテキスト形式で記載されておりました。 しかし、私にはその意味が分かりませんでした。(そのコードはPHPだったのでしょうか?) どのようにしたらlibxdiffをインストールできますでしょうか? ちなみに、Linuxでもyumを使い、ダウンロードを試みてみましたが、何も起こりませんでした。

wataj
質問者

補足

すみません。参考URLからダウンロードサイトに行くリンクを間違えていました。 xdiffは http://pecl.php.net/package/xdiff よりダウンロードが可能でした。 現在、xdiffを手動でインストールしていますが、 http://jp2.php.net/manual/ja/ref.xdiff.php における以下の手順通りに進めておりますが、configureできません。 (というより、configureファイルが生成されませんでした。) gunzip xdiff-xxx.tgz tar -xvf xdiff-xxx.tar cd xdiff-xxx phpize ./configure && make && make install

関連するQ&A