php – 在Windows,linux和Mac上为同一图像创建的不同哈希值
发布时间:2020-12-13 14:09:50 所属栏目:PHP教程 来源:网络整理
导读:我正在使用以下代码创建哈希值,现在发生什么是当我在 Windows本地Xampp服务器上测试哈希值时,我获取在 Linux上运行的相同代码不同的哈希值. move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $newname); "Stored in: " . "upload/" . $_FILES["f
我正在使用以下代码创建哈希值,现在发生什么是当我在
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()生成文件的哈希我不会得到不同的哈希. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |