Сравнение изображений PHP

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?

1

Решение

Почему бы вам не попробовать сравнить MD5 Hash двух изображений.

  $md5LocalImg = md5(file_get_contents($script_img));
$md5WebImg   = md5(file_get_contents($web_img));
if ( $md5LocalImg == $md5WebImg ){
echo("SAME");
}
else{
echo("DIFFERENT");
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]