【问题标题】:Compare Raw Image Data PHP比较原始图像数据 PHP
【发布时间】:2015-12-22 08:01:28
【问题描述】:

我正在尝试制作一个更新照片的 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/我对类中的compare函数做了一点改动,让它取PHP图片资源。

【问题讨论】:

  • 好吧,你在 strcmp 之后错过了一个结束 )...如果我们可以先从某事开始
  • 糟糕!这在我的程序中不是问题。
  • 开个玩笑,我已经发布了答案

标签: php image compare


【解决方案1】:

使用 sha1_file() 代替,就像您从 Internet 下载软件并想要验证它没有被更改时所做的那样。

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

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

【讨论】:

  • 也打败我吧。这正是哈希的用途。
  • Photo["Data"] 是我收到的图像的原始数据,sha1_file() 需要一个目录名。有没有办法在不实际创建文件来存储内容的情况下解决这个问题?我认为 sha1() 命令会起作用,我会立即更新。
  • echo sha1_file($directory) == sha1($Photo["Data"]);这似乎总是错误的。
  • 好吧,然后使用 sha1(Photo["Data"]) 作为字符串和 sha1_file($directory) 作为文件....尚未测试,但它应该可以工作
  • if(sha1_file($directory) == sha1($photo["Data"])) 这个比较似乎并不一致。通过这种方法发现有些是相同的,但大多数不是。很奇怪。
【解决方案2】:

我找到了一个类,用于比较 PHP 中的两个图像资源。看看http://compareimages.nikhazy-dizajn.hu/我对类中的compare函数做了一点改动,让它取PHP图片资源。

【讨论】:

    猜你喜欢
    • 2016-10-02
    • 2023-03-31
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多