PHP獲取文件的MD5值并判斷是否被修改的例子
由于需要判斷上傳的文件是否被修改過(guò),需要記錄上傳文件的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() 函數(shù)計(jì)算文件的 MD5 散列。md5() 函數(shù)使用 RSA 數(shù)據(jù)安全,包括 MD5 報(bào)文摘譯算法。如果成功,則返回所計(jì)算的 MD5 散列,如果失敗,則返回 false。
語(yǔ)法:md5(string,raw)
參數(shù)string,必需。規(guī)定要計(jì)算的文件。
參數(shù)charlist,可選。規(guī)定十六進(jìn)制或二進(jìn)制輸出格式:TRUE - 原始 16 字符二進(jìn)制格式;FALSE - 默認(rèn)。32 字符十六進(jìn)制數(shù)。
<?php
$filename = "test.txt";
$md5file = md5_file($filename);
echo $md5file;
?>
存儲(chǔ) "test.txt" 文件的 MD5 散列:
<?php
$md5file = md5_file("test.txt");
file_put_contents("md5file.txt",$md5file);
?>
在本例中,我們將檢測(cè) "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.
PS:這里再為大家提供2款MD5加密工具,感興趣的朋友可以參考一下:
MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password
在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
相關(guān)文章
PHP數(shù)據(jù)對(duì)象映射模式實(shí)例分析
這篇文章主要介紹了PHP數(shù)據(jù)對(duì)象映射模式,結(jié)合實(shí)例形式分析了php數(shù)據(jù)對(duì)象模式原理、定義與相關(guān)使用方法,需要的朋友可以參考下2019-03-03基于PHP導(dǎo)出Excel的小經(jīng)驗(yàn) 完美解決亂碼問(wèn)題
本篇文章是對(duì)PHP導(dǎo)出Excel亂碼問(wèn)題的解決方法就行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php中獲取遠(yuǎn)程客戶端的真實(shí)ip地址的方法
在PHP 中使用 $_SERVER["REMOTE_ADDR"] 來(lái)取得客戶端的 IP 地址,但如果客戶端是使用代理服務(wù)器來(lái)訪問(wèn),那取到的就是代理服務(wù)器的 IP 地址,而不是真正的客戶端 IP 地址。2011-08-08php驗(yàn)證碼的制作思路和實(shí)現(xiàn)方法
這篇文章主要介紹了php驗(yàn)證碼的制作思路和實(shí)現(xiàn)方法,我們不能盲目的去實(shí)現(xiàn)php生成驗(yàn)證碼,更應(yīng)該了解php驗(yàn)證碼的基本原理,真正的掌握php驗(yàn)證碼的實(shí)現(xiàn)方法,需要的朋友可以參考下2015-11-11php實(shí)現(xiàn)壓縮合并js的方法【附demo源碼下載】
這篇文章主要介紹了php實(shí)現(xiàn)壓縮合并js的方法,涉及php壓縮文件類JSMin的相關(guān)調(diào)用與使用技巧,并附帶了完整的demo源碼供讀者下載參考,需要的朋友可以參考下2016-09-09php實(shí)現(xiàn)簽到功能的方法實(shí)例分析
這篇文章主要介紹了php實(shí)現(xiàn)簽到功能的方法,結(jié)合實(shí)例形式分析了php基于數(shù)據(jù)庫(kù)及時(shí)間判斷操作實(shí)現(xiàn)簽到功能的相關(guān)技巧,需要的朋友可以參考下2017-12-12php自定義函數(shù)br2nl實(shí)現(xiàn)將html中br換行符轉(zhuǎn)換為文本輸入中換行符的方法【與函數(shù)nl2br功能相反】
這篇文章主要介紹了php自定義函數(shù)br2nl實(shí)現(xiàn)將html中br換行符轉(zhuǎn)換為文本輸入中換行符的方法,具有與函數(shù)nl2br相反的功能,并附帶了相應(yīng)的JS實(shí)現(xiàn)方法,需要的朋友可以參考下2017-02-02PHP實(shí)戰(zhàn)之投票系統(tǒng)的實(shí)現(xiàn)
這篇文章主要為大家介紹了如何利用PHP制作一個(gè)投票系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下2022-04-04