• 技术文章 >php教程 >php手册

    php对文件进行hash运算的方法

    2016-06-13 09:07:54原创313

    php对文件进行hash运算的方法


    具体如下:

    这段代码非常有用,如果你下载了一个文件,网站提供了hash结果,你可以对你下载下来的文件进行hash运算,以验证下载的文件是否正确。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    Hash (Check) Files

    if(!empty($_FILES)){

    if ($_FILES["file"]["error"] > 0){

    switch($_FILES["file"]["error"]){

    case 1:

    echo "Error: The uploaded file exceeds the upload_max_filesize directive in php.ini
    ";

    break;

    case 2:

    echo "Error: The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.
    ";

    break;

    case 3:

    echo "Error: The uploaded file was only partially uploaded.
    ";

    break;

    case 4:

    echo "Error: No file was uploaded.
    ";

    break;

    case 6:

    echo "Error: Missing a temporary folder.
    ";

    break;

    case 7:

    echo "Error: Failed to write file to disk.
    ";

    break;

    case 8:

    echo "Error: A PHP extension stopped the file upload.
    ";

    break;

    default:

    echo "Unknown error occured.
    ";

    }

    } else {

    echo 'Upload: ' . $_FILES['file']['name'] . '
    ';

    echo 'Type: ' . $_FILES['file']['type'] . '
    ';

    echo 'Size: ' . (round($_FILES['file']['size'] / 1024, 2)) . ' Kb

    ';

    if(array_search($_POST['algo'], hash_algos())===false){

    echo 'Unknown hashing algorithm requested.
    ';

    } else {

    echo 'Hashing Algorithm: '. $_POST['algo'] . '
    ';

    $hash = hash_file($_POST['algo'], $_FILES['file']['tmp_name']);

    echo 'Calculated hash: ' . $hash . '
    ';

    if($_POST['exphash']!=='none' && !empty($_POST['exphash'])){

    echo 'Expected hash: ' . $_POST['exphash'] . '

    ';

    echo ($hash==$_POST['exphash'])? 'Hash matched expected value.' : 'Hash did not match expected value.';

    echo '
    ';

    }

    }

    }

    ?>


    } else {

    ?>




    Choose an algorithm (This is the list of all the available algorithms in your php installation)

    foreach(hash_algos() as $algo){

    if($algo=='md5'){

    echo "
    ";

    } else {

    echo "
    ";

    }

    }

    ?>

    }

    ?>

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php调用KyotoTycoon简单实例,php调用kyototycoon 下一篇:windwos平台安装phpredis模块,windwosphpredis
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• Windows下搭建PHP开发环境• 你会做Web上的用户登录功能吗?• 挑战最棒的留言本的源码(三)• 修改mysql密码的方法• PHP脚本的8个技巧(3)包含文件
    1/1

    PHP中文网