由於需要判斷上傳的文件是否被修改過,需要記錄上傳文件的md5值,這裡記錄一下獲取文件md5值的方法。
if(isset($_FILES['multimedia']) && $_FILES['multimedia']['error']==0) { $file_name = $_FILES['multimedia']['name']; $size = getimagesize($_FILES['multimedia']['tmp_name']); $type = $_FILES['multimedia']['type']; $original = $_FILES['multimedia']['tmp_name']; $md5 = md5_file($original); echo $md5; }
md5_file() 函數計算文件的 MD5 散列。md5() 函數使用 RSA 數據安全,包括 MD5 報文摘譯算法。如果成功,則返回所計算的 MD5 散列,如果失敗,則返回 false。
語法:md5(string,raw)
<?php $filename = "test.txt"; $md5file = md5_file($filename); echo $md5file; ?>
存儲 "test.txt" 文件的 MD5 散列:
<?php $md5file = md5_file("test.txt"); file_put_contents("md5file.txt",$md5file); ?>
在本例中,我們將檢測 "test.txt" 是否已被更改(即是否 MD5 散列已被更改):
<?php $md5file = file_get_contents("md5file.txt"); if (md5_file("test.txt") == $md5file) { echo "The file is ok."; } else { echo "The file has been changed."; } ?>
輸出:
The file is ok.