詳細は次のとおりです:
このコードは非常に便利です。ファイルをダウンロードし、Web サイトがハッシュ結果を提供する場合、ダウンロードしたファイルに対してハッシュ操作を実行して、ダウンロードしたファイルが正しいかどうかを確認できます。
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 |
#ok{色:緑;} #ノノ{カラー:レッド;}
if(!empty($_FILES)){ if ($_FILES["ファイル"]["エラー"] > 0){ switch($_FILES["ファイル"]["エラー"]){ ケース1: echo "エラー: アップロードされたファイルは php.ini 休憩; ケース2: echo "エラー: アップロードされたファイルは、HTML フォームで指定された MAX_FILE_SIZE ディレクティブを超えています。 休憩; ケース 3: echo "エラー: アップロードされたファイルは部分的にのみアップロードされました。 休憩; ケース 4: echo "エラー: ファイルがアップロードされませんでした。 休憩; ケース6: echo "エラー: 一時フォルダーが見つかりません。 休憩; ケース7: echo "エラー: ファイルをディスクに書き込めませんでした。 休憩; ケース8: echo "エラー: PHP 拡張機能によりファイルのアップロードが停止されました。 休憩; デフォルト: echo "不明なエラーが発生しました。 } } 他 { echo 'アップロード: ' . $_FILES['file']['name'] ' echo 'タイプ: ' . $_FILES['file']['type'] ' echo 'サイズ: ' . (round($_FILES['file']['size'] / 1024, 2)) ' Kb if(array_search($_POST['algo'], hash_algos())===false){ echo '不明なハッシュ アルゴリズムが要求されました。 } 他 { エコー「ハッシュ アルゴリズム: 」。 $_POST['アルゴ'] 。 ' $hash = hash_file($_POST['algo'], $_FILES['file']['tmp_name']); echo '計算されたハッシュ: ' 。 $ハッシュ 。 ' if($_POST['exphash']!=='none' && !empty($_POST['exphash'])){ echo '期待されるハッシュ: ' 。 $_POST['exphash'] 。 ' エコー ($hash==$_POST['exphash'])? 'ハッシュが期待値と一致しました。' : 'ハッシュが期待値と一致しませんでした。'; エコー ' } } } ?>
} 他 { ?> <フォームアクション=""メソッド="ポスト" enctype="multipart/form-data">
foreach(hash_algos() as $algo){ if($algo=='md5'){ echo " } 他 { echo " } } ?>
} ?> ボディ> |