我正在尝试制作一个更新照片的 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 图像资源。
使用 sha1_file() 代替,就像您从互联网下载软件并想要验证它没有被更改一样。
if (sha1_file($directory) == sha1_file(Photo["Data"]))
echo "indentical";
else
echo "not identical";
如果两个文件相同,它们将返回相同的哈希值。
我找到了一个类,用于在 PHP 中比较两个图像资源。看一下 http://compareimages.nikhazy-dizajn.hu/ 我对类中的比较函数做了一些轻微的更改,让它使用 PHP 图像资源。
如果您需要比较图像,请考虑使用 image-comparator 库。该软件包建立在感知哈希之上,并提供有效比较多个图像的功能