php_PHP チュートリアルでファイルに対してハッシュ操作を実行する方法
Jul 13, 2016 am 09:58 AMPHP がファイルに対してハッシュ操作を実行する方法
詳細は次のとおりです:
このコードは非常に便利です。ファイルをダウンロードし、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 |
<html> <title>ハッシュ (チェック) ファイル</title> <style type='text/css'> #ok{色:緑;} #ノノ{カラー:レッド;} </style> </head> <?php if(!empty($_FILES)){ if ($_FILES["ファイル"]["エラー"] > 0){ switch($_FILES["ファイル"]["エラー"]){ ケース1: echo "<b id='nono'>エラー: アップロードされたファイルは php.ini</b><br> の Upload_max_filesize ディレクティブを超えています"; 休憩; ケース2: echo "<b id='nono'>エラー: アップロードされたファイルは、HTML フォームで指定された MAX_FILE_SIZE ディレクティブを超えています。</b><br>"; 休憩; ケース 3: echo "<b id='nono'>エラー: アップロードされたファイルは部分的にのみアップロードされました。</b><br>"; 休憩; ケース 4: echo "<b id='nono'>エラー: ファイルがアップロードされませんでした。</b><br>"; 休憩; ケース6: echo "<b id='nono'>エラー: 一時フォルダーが見つかりません。</b><br>"; 休憩; ケース7: echo "<b id='nono'>エラー: ファイルをディスクに書き込めませんでした。</b><br>"; 休憩; ケース8: echo "<b id='nono'>エラー: PHP 拡張機能によりファイルのアップロードが停止されました。</b><br>"; 休憩; デフォルト: echo "<b id='nono'>不明なエラーが発生しました。</b><br>"; } } 他 { echo 'アップロード: ' . $_FILES['file']['name'] '<br>'; echo 'タイプ: ' . $_FILES['file']['type'] '<br>'; echo 'サイズ: ' . (round($_FILES['file']['size'] / 1024, 2)) ' Kb<br><br>; if(array_search($_POST['algo'], hash_algos())===false){ echo '不明なハッシュ アルゴリズムが要求されました。<br>'; } 他 { エコー「ハッシュ アルゴリズム: 」。 $_POST['アルゴ'] 。 '<br>'; $hash = hash_file($_POST['algo'], $_FILES['file']['tmp_name']); echo '計算されたハッシュ: ' 。 $ハッシュ 。 '<br>'; if($_POST['exphash']!=='none' && !empty($_POST['exphash'])){ echo '期待されるハッシュ: ' 。 $_POST['exphash'] 。 '<br><br>'; エコー ($hash==$_POST['exphash'])? '<b id="ok">ハッシュが期待値と一致しました。</b>' : '<b id="nono">ハッシュが期待値と一致しませんでした。</b>'; エコー ' } } } ?> <br> <button onClick="document.location.reload(true)">もう一度</button> <?php } 他 { ?> <フォームアクション=""メソッド="ポスト" enctype="multipart/form-data"> <input type="hidden" name="exphash" value="none"> <label for="file">ファイル名:</label> <input type="file" name="file" id="file"> <input type="submit" name="submit" value="Submit" /><br> <label>予想されるハッシュ (オプション): <input type="text" name="exphash" size="100"></label> <br><br>アルゴリズムを選択してください (これは、PHP インストールで使用可能なすべてのアルゴリズムのリストです)<br> <?php foreach(hash_algos() as $algo){ if($algo=='md5'){ echo "<label><input type='radio' name='algo' value='$algo'checked='checked'>$algo</label><br>"; } 他 { echo "<label><input type='radio' name='algo' value='$algo'>$algo</label><br>"; } } ?> </form> <?php } ?> </ボディ> </html> |

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
