> 백엔드 개발 > PHP 튜토리얼 > PHP는 파일에 대해 해시 작업을 수행합니다.

PHP는 파일에 대해 해시 작업을 수행합니다.

WBOY
풀어 주다: 2016-07-25 08:43:18
원래의
1056명이 탐색했습니다.

이 코드는 매우 유용하며, 웹사이트에서 해시 결과를 제공하는 경우 다운로드한 파일에 대해 해시 작업을 수행하여 다운로드한 파일이 올바른지 확인할 수 있습니다.

  1. 해시(검사) 파일
  2. if(!empty($_FILES)){
  3. if ($_FILES["file"]["error"] > 0){
  4. 스위치($_FILES[" file"]["error"]){
  5. 사례 1:
  6. echo "오류: 업로드된 파일이 php.ini<의 upload_max_filesize 지시문을 초과합니다. br>";
  7. break;
  8. 사례 2:
  9. echo "오류: 업로드된 파일이 HTML 형식에 지정된 MAX_FILE_SIZE 지시문을 초과합니다.
    ";
  10. break;
  11. 사례 3:
  12. echo "오류: 업로드된 파일이 부분적으로만 업로드되었습니다.< ;br>";
  13. break;
  14. 사례 4:
  15. echo "오류: 파일이 업로드되지 않았습니다.
    ";
  16. break;
  17. 사례 6:
  18. echo "오류: 임시 폴더가 없습니다.
    ";
  19. break;
  20. 사례 7:
  21. echo "오류: 디스크에 파일을 쓰지 못했습니다.
    ";
  22. break;
  23. 사례 8:
  24. echo "오류: PHP 확장 프로그램이 파일 업로드를 중지했습니다.
    ";
  25. break;
  26. 기본값:
  27. echo "알 수 없는 오류가 발생했습니다.
    ";
  28. }
  29. } else {
  30. echo '업로드: ' . $_FILES['파일']['이름'] . '
    ';
  31. echo '유형: ' . $_FILES['파일']['유형'] . '
    ';
  32. echo '크기: ' . (round($_FILES['파일']['크기'] / 1024, 2)) . ' Kb

    ';
  33. if(array_search($_POST['algo'], hash_algos())===false){
  34. echo '알 수 없는 해싱 알고리즘이 요청되었습니다.
    ';
  35. } else {
  36. echo '해싱 알고리즘: '. $_POST['알고'] . '
    ';
  37. $hash = hash_file($_POST['algo'], $_FILES['file']['tmp_name']);
  38. echo '계산된 해시: ' . $해시 . '
    ';
  39. if($_POST['exphash']!=='none' && !empty($_POST['exphash'])){
  40. echo '예상 해시:    ;' . $_POST['exphash'] . '

    ';
  41. echo ($hash==$_POST['exphash'])? '해시가 예상 값과 일치합니다.' : '해시가 예상 값과 일치하지 않습니다.';
  42. echo '
    ';
  43. }
  44. }
  45. }
  46. ?>

  47. }else {
  48. ?>



  49. 알고리즘 선택(이것은 PHP 설치에서 사용 가능한 모든 알고리즘 목록입니다)
  50. foreach(hash_algos() as $algo){
  51. if($algo=='md5'){
  52. echo "
    ";
  53. } else {
  54. echo "
    ";
  55. }
  56. }
  57. ?>
  58. }
  59. ?>
复主代码

PHP, 해시


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿