程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP獲取文件的MD5值並判斷是否被修改的例子

PHP獲取文件的MD5值並判斷是否被修改的例子

編輯:關於PHP編程

由於需要判斷上傳的文件是否被修改過,需要記錄上傳文件的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.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved