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從零開始打造自己的MVC框架之入口文件實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP從零開始打造自己的MVC框架之入口文件實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了php實(shí)現(xiàn)MVC框架入口文件的原理、定義及使用方法,需要的朋友可以參考下2019-06-06
PHP中include()與require()的區(qū)別說(shuō)明
本文主要介紹了PHP中include()與require()的區(qū)別。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
PHP使用file_get_contents發(fā)送http請(qǐng)求功能簡(jiǎn)單示例
這篇文章主要介紹了PHP使用file_get_contents發(fā)送http請(qǐng)求功能,結(jié)合實(shí)例形式分析了file_get_contents結(jié)合stream_context_create實(shí)現(xiàn)的發(fā)送post請(qǐng)求數(shù)據(jù)相關(guān)原理與操作技巧,需要的朋友可以參考下2018-04-04
在php和MySql中計(jì)算時(shí)間差的方法詳解
這篇文章主要介紹了在php和MySql中計(jì)算時(shí)間差的方法詳解的相關(guān)資料,需要的朋友可以參考下2015-03-03

