這篇文章主要介紹了PHP取得檔案的MD5值並判斷是否被修改的例子,Message Digest Algorithm MD5(中文名為訊息摘要演算法第五版)為電腦安全領域廣泛使用的一種雜湊函數,用以提供訊息的完整性保護,需要的朋友可以參考下
由於需要判斷上傳的檔案是否被修改過,需要記錄上傳檔案的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_file() 函數計算檔案的MD5 雜湊。 md5() 函數使用 RSA 資料安全,包括 MD5 報文摘譯演算法。如果成功,則傳回所計算的 MD5 雜湊,如果失敗,則傳回 false。 語法:md5(string,raw)參數string,必要。規定要計算的文件。 參數charlist,可選。規定十六進位或二進位輸出格式:TRUE - 原始 16 字元二進位格式;FALSE - 預設。 32 字元十六進制數。程式碼如下:
<?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.
以上是PHP取得檔案的MD5值並判斷是否被修改的例子的詳細內容。更多資訊請關注PHP中文網其他相關文章!