本文实例讲述了php对文件进行hash运算的方法。具体如下:
这段代码非常有用,如果你下载了一个文件,网站提供了hash结果,你可以对你下载下来的文件进行hash运算,以验证下载的文件是否正确。
html head title Hash (Check) Files /title style type= text/css #ok{color:green;} #nono{color:red;} /style /head body ?php if(!empty($_FILES)){ if ($_FILES[ file ][ error ] 0){ switch($_FILES[ file ][ error ]){ case 1: echo b id= nono Error: The uploaded file exceeds the upload_max_filesize directive in php.ini /b br break; case 2: echo b id= nono Error: The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form. /b br break; case 3: echo b id= nono Error: The uploaded file was only partially uploaded. /b br break; case 4: echo b id= nono Error: No file was uploaded. /b br break; case 6: echo b id= nono Error: Missing a temporary folder. /b br break; case 7: echo b id= nono Error: Failed to write file to disk. /b br break; case 8: echo b id= nono Error: A PHP extension stopped the file upload. /b br break; default: echo b id= nono Unknown error occured. /b br } else { echo Upload: . $_FILES[ file ][ name ] . br echo Type: . $_FILES[ file ][ type ] . br echo Size: . (round($_FILES[ file ][ size ] / 1024, 2)) . Kb br br if(array_search($_POST[ algo ], hash_algos())===false){ echo Unknown hashing algorithm requested. br } else { echo Hashing Algorithm: . $_POST[ algo ] . br $hash = hash_file($_POST[ algo ], $_FILES[ file ][ tmp_name echo Calculated hash: . $hash . br if($_POST[ exphash ]!== none !empty($_POST[ exphash ])){ echo Expected hash: . $_POST[ exphash ] . br br echo ($hash==$_POST[ exphash ])? b id= ok Hash matched expected value. /b : b id= nono Hash did not match expected value. /b echo br button quot;document.location.reload(true) Again /button ?php } else { form action= method= post enctype= multipart/form-data input type= hidden name= exphash value= none label for= file Filename: /label input type= file name= file id= file input type= submit name= submit value= Submit / br label Expected hash(optional): input type= text name= exphash size= 100 /label br br Choose an algorithm (This is the list of all the available algorithms in your php installation) br ?php foreach(hash_algos() as $algo){ if($algo== md5 ){ echo label input type= radio name= algo value= $algo checked= checked $algo /label br } else { echo label input type= radio name= algo value= $algo $algo /label br /form ?php /body /html
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
php利用正则表达式提取内容中的链接
PHP实现数字分页功能
PHP表单数据验证类
以上就是简述php对文件进行hash运算的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答