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?
Почему бы вам не попробовать сравнить MD5 Hash двух изображений.
$md5LocalImg = md5(file_get_contents($script_img));
$md5WebImg = md5(file_get_contents($web_img));
if ( $md5LocalImg == $md5WebImg ){
echo("SAME");
}
else{
echo("DIFFERENT");
}
Других решений пока нет …