move_uploaded_file会改变文件的校验和吗?

时间:2018-02-20 15:04:29

标签: php

$ _FILES中的临时文件使用move_uploaded_file将其复制到光盘后的校验和与静态文件不同。

是否有任何标志或任何我可以做的事情来保留原始校验和?

保持原始文件名对校验和不起作用

编辑: hier是我代码的相关部分

$file_name_tmp = $_FILES["file_upload"]["name"];
$file_name_disk = "uploads/tmp_image.png" // uploaded file is always PNG
$pre_hash = hash("sha1",$file_name_tmp);
move_uploaded_file($file_name_tmp, $file_name_disk);
$post_hash = hash("sha1",$file_name_disk);

$ pre_hash und $ post_hash有不同的值

1 个答案:

答案 0 :(得分:1)

hash("sha1",$file_name_tmp);
hash("sha1",$file_name_disk);

您正在哈希文件的路径。当然,当您将上传移出临时目录时,这会发生变化!

使用hash_file()来散列文件的内容,该内容应保持不变。