比较原始图像数据 PHP

问题描述 投票:0回答:3

我正在尝试制作一个更新照片的 PHP 脚本。我从源接收原始图像数据,我想将其与现有文件进行比较,看看是否应该下载它。我会发布我想要做什么的想法。

$contents = file_get_contents($directory);
$new_photo = Photo["Data"];
echo strcmp($liph_id_contents,$photo['Data']==0);

这行不通,但我希望你能明白。我想要比较的图像是 .jpg

Photo["Data"] 是原始图像数据

$directory 是存储图像文件的位置

更新:我能够将这两个图像转换为 PHP 图像资源。图像资源之间的比较也足够了。

更新:我找到了一个类,用于在 PHP 中比较两个图像资源。看一下 http://compareimages.nikhazy-dizajn.hu/ 我对类中的比较函数做了一些轻微的更改,让它使用 PHP 图像资源。

php image compare
3个回答
1
投票

使用 sha1_file() 代替,就像您从互联网下载软件并想要验证它没有被更改一样。

if (sha1_file($directory) == sha1_file(Photo["Data"])) 
   echo "indentical";
else
   echo "not identical";

如果两个文件相同,它们将返回相同的哈希值。


0
投票

我找到了一个类,用于在 PHP 中比较两个图像资源。看一下 http://compareimages.nikhazy-dizajn.hu/ 我对类中的比较函数做了一些轻微的更改,让它使用 PHP 图像资源。


0
投票

如果您需要比较图像,请考虑使用 image-comparator 库。该软件包建立在感知哈希之上,并提供有效比较多个图像的功能

© www.soinside.com 2019 - 2024. All rights reserved.