由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法。
1 |
if (isset( $_FILES [ 'multimedia' ])
&& $_FILES [ 'multimedia' ][ 'error' ]==0) |
3 |
$file_name = $_FILES [ 'multimedia' ][ 'name' ]; |
4 |
$size = getimagesize ( $_FILES [ 'multimedia' ][ 'tmp_name' ]); |
5 |
$type = $_FILES [ 'multimedia' ][ 'type' ]; |
6 |
$original = $_FILES [ 'multimedia' ][ 'tmp_name' ]; |
7 |
$md5 =
md5_file( $original ); |
md5_file()
md5_file() 函数计算文件的 MD5 散列。md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。
语法:md5(string,raw)
- 参数string,必需。规定要计算的文件。
- 参数charlist,可选。规定十六进制或二进制输出格式:TRUE - 原始 16 字符二进制格式;FALSE - 默认。32 字符十六进制数。
2 |
$filename = "test.txt" ; |
3 |
$md5file =
md5_file( $filename ); |
存储 "test.txt" 文件的 MD5 散列:
2 |
$md5file =
md5_file( "test.txt" ); |
3 |
file_put_contents ( "md5file.txt" , $md5file ); |
在本例中,我们将检测 "test.txt" 是否已被更改(即是否 MD5 散列已被更改):
02 |
$md5file = file_get_contents ( "md5file.txt" ); |
03 |
if (md5_file( "test.txt" )
== $md5file ) |
05 |
echo "The
file is ok." ; |
09 |
echo "The
file has been changed." ; |
输出: