WEB技术之后端技术

php判断两张图片是否相同

PHPer 2018-01-23 2501 0 0
原文链接:http://www.webyang.net/Html/web/article_327.html随着上传图片的增多,有的时候需要判断是否是相同的图片,然后进行删除。那么如何实现这个过程呢?方...

原文链接:http://www.webyang.net/Html/web/article_327.html

随着上传图片的增多,有的时候需要判断是否是相同的图片,然后进行删除。那么如何实现这个过程呢?

方法一:

sha1_file() 或者 md5_file()方法。

  1. $file = "./img/1.jpg";
  2. $file2 = "./img/2.jpg";
  3. $gg = sha1_file($file);
  4. $aa = sha1_file($file2);
  5. if($aa == $gg) echo 'equation';


这两个方法只能判断两张完全相同的图片,包括文件的大小,尺寸,另外这个方法还可以用来判断文件。

方法二:

  1. $filename = '1.jpg';
  2. list($width, $height) = getimagesize($filename);
  3. $img = imagecreatefromjpeg($filename);
  4. $new_img = imagecreatetruecolor(8, 8);
  5. imagecopyresampled($new_img, $img, 0, 0, 0, 0, 8, 8, $width, $height);
  6. imagefilter($new_img, IMG_FILTER_GRAYSCALE);
  7. $colors = array();
  8. $sum = 0;
  9. for ($i = 0; $i < 8; $i++) {
  10. for ($j = 0; $j < 8; $j++) {
  11. $color = imagecolorat($new_img, $i, $j) & 0xff;
  12. $sum += $color;
  13. $colors[] = $color;
  14. }
  15. }
  16. $avg = $sum / 64;
  17. $hash = '';
  18. $curr = '';
  19. $count = 0;
  20. foreach ($colors as $color) {
  21. if ($color > $avg) {
  22. $curr .= '1';
  23. } else {
  24. $curr .= '0';
  25. }
  26. $count++;
  27. if (!($count % 4)) {
  28. $hash .= dechex(bindec($curr));
  29. $curr = '';
  30. }
  31. }
  32. print $hash . "\n";


...

立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。

更新于:2018-01-31 15:20:10
    您需要登录后才可以评论。 立即注册
    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享