php – 在Windows,linux和Mac上为同一图像创建的不同哈希值

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在Windows,linux和Mac上为同一图像创建的不同哈希值脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用以下代码创建哈希值,现在发生什么是当我在 Windows本地Xampp服务器上测试哈希值时,我获取Linux上运行的相同代码不同的哈希值.
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $newname);
    "Stored in: " . "upload/" . $_FILES["file"]["name"];
    $image = "upload/" . $newname;
    $sign = md5(file_get_contents($image));

现在我不知道为什么会发生这种情况.对于我刚刚粘贴的相同的代码.

编辑:再次打开问题我找到的解决方案只适用于Linux,这意味着linux和windows现在给我相同的哈希,但是当从Mac(IOS)上传图像时,它仍然生成不同的哈希.

好的,我发现我的问题的答案,我仍然不知道为什么在Windows和Linux中为同一个代码生成了两个不同的哈希值
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $newname); 
    "Stored in: " . "upload/" . $_FILES["file"]["name"];
    $image = "upload/" . $newname;
    $sign = md5(file_get_contents($image));//This is code block that i was implmenting before solution

在这里尝试的是我用以下代码替换了我上面的代码

move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $newname);
        "Stored in: " . "upload/" . $_FILES["file"]["name"];
        $image = "upload/" . $newname;
        $sign = md5_file($image);// Changed here

从这个我认为哈希值可能是相同的,当由md5()生成,但如果此函数接受文件作为输入,哈希值的计算方式不同,我不知道这是一个PHP方面的问题或真正的操作系统级问题,但如果我继续使用Md5_file()生成文件的哈希我不会得到不同的哈希.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在Windows,linux和Mac上为同一图像创建的不同哈希值全部内容,希望文章能够帮你解决php – 在Windows,linux和Mac上为同一图像创建的不同哈希值所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。