img_1由PHP创建,img_2保存在服务器上。我试图将这些与图片进行比较,看看它们是否有所不同,我试过这个,但它没有用。
$script_img = imagecreatetruecolor(2390, 2400);
$web_img = imagecreatefrompng("URL_TO_IMG");
if ($script_img==$web_img ) {
echo "SAME";
}
else{
echo "DIFFERENT";
}
下一个示例有效,但是当我调用imagepng
时,PHP会在浏览器或奇怪的字母中创建图像(如果标题未设置为image / png),我也不希望这样。
$script_img = imagecreatetruecolor(2390, 2400);
$web_img = imagecreatefrompng("URL_TO_IMG");
$rendered = imagepng($web_img);
if ($script_img==$rendered ) {
echo "SAME";
}
else{
echo "DIFFERENT";
}
我也试过file_get_contents($script_img) == file_get_contents("URL_TO_IMG")
,但它没有用。
使用md5(file_get_contents(imagecreatetruecolor(2390, 2400))) == md5(file_get_contents(imagecreatefrompng("URL_TO_IMG")))
有效,但我怀疑这是比较2张图片的最佳/正确方法。
在PHP中比较图像的最佳/正确方法是什么?
答案 0 :(得分:0)
为什么不尝试比较两张图片的MD5哈希值。
$md5LocalImg = md5(file_get_contents($script_img));
$md5WebImg = md5(file_get_contents($web_img));
if ( $md5LocalImg == $md5WebImg ){
echo("SAME");
}
else{
echo("DIFFERENT");
}