|-转 php判断两张图片是否相同
原文链接:http://www.webyang.net/Html/web/article_327.html随着上传图片的增多,有的时候需要判断是否是相同的图片,然后进行删除。那么如何实现这个过程呢?方...
原文链接:http://www.webyang.net/Html/web/article_327.html
随着上传图片的增多,有的时候需要判断是否是相同的图片,然后进行删除。那么如何实现这个过程呢?
方法一:
sha1_file() 或者 md5_file()方法。
- $file = "./img/1.jpg";
- $file2 = "./img/2.jpg";
- $gg = sha1_file($file);
- $aa = sha1_file($file2);
- if($aa == $gg) echo 'equation';
这两个方法只能判断两张完全相同的图片,包括文件的大小,尺寸,另外这个方法还可以用来判断文件。
方法二:
- $filename = '1.jpg';
- list($width, $height) = getimagesize($filename);
- $img = imagecreatefromjpeg($filename);
- $new_img = imagecreatetruecolor(8, 8);
- imagecopyresampled($new_img, $img, 0, 0, 0, 0, 8, 8, $width, $height);
- imagefilter($new_img, IMG_FILTER_GRAYSCALE);
- $colors = array();
- $sum = 0;
- for ($i = 0; $i < 8; $i++) {
- for ($j = 0; $j < 8; $j++) {
- $color = imagecolorat($new_img, $i, $j) & 0xff;
- $sum += $color;
- $colors[] = $color;
- }
- }
- $avg = $sum / 64;
- $hash = '';
- $curr = '';
- $count = 0;
- foreach ($colors as $color) {
- if ($color > $avg) {
- $curr .= '1';
- } else {
- $curr .= '0';
- }
- $count++;
- if (!($count % 4)) {
- $hash .= dechex(bindec($curr));
- $curr = '';
- }
- }
- print $hash . "\n";
...
浏览更多内容请先登录。
立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。
更新于:2018-01-31 15:20:10
推荐内容