這段程式碼非常有用,如果你下載了一個文件,網站提供了hash結果,你可以對你下載下來的文件進行hash運算,以驗證下載的文件是否正確。
-
-
- 雜湊(檢查)檔案
-
-
-
- if(!empty($_FILES)){
- if ($_FILES["file"]["error"] > 0){
- switch($_FILES[" file"]["error"]) {
- case 1:
- echo "錯誤:上傳的檔案超出了php.ini 中的upload_max_filesize 指令";
- break; case 2:
- echo "錯誤:上傳的檔案超出了HTML 表單中指定的MAX_FILE_SIZE 指令。 b>
";- break;
- casease 3:
- echo "錯誤:上傳的檔案僅部分上傳。";
- 中斷;
- 情況4:
- echo " 錯誤:未上傳檔案。暫存資料夾。
";- 中斷;
- 案例8:
- echo "錯誤:PHP 擴充停止了檔案上傳。中斷;
- 預設值:
- echo "發生未知錯誤。
";
- }
- } else {
- echo '上傳:' . $_FILES['檔案']['名稱'] 。 '
';
- echo '類型:' 。 $_FILES['檔案']['類型'] 。 '
';
- echo '尺寸:' 。 (round($_FILES['檔案']['大小'] / 1024, 2)) 。 ' Kb
';
- if(array_search($_POST['algo'], hash_algos())===false){
- echo '請求未知的雜湊演算法。
';
- } else {
- echo '雜湊演算法:'。 $_POST['演算法'] 。 '
';
- $hash = hash_file($_POST['algo'], $_FILES['file']['tmp_name']);
- echo '計算出的雜湊值: ' . $哈希。 '
';
- if($_POST['exphash']!=='none' && !empty($_POST['exphash'])){
- echo '預期雜湊值:   ; ' 。 $_POST['exphash'] 。 '
';
- echo ($hash==$_POST['exphash'])? '雜湊值與預期值相符。 ' : '哈希與預期值不符。 ';
- echo '
';
- }
- }
- }
- ?>
-
-
- }else {
- ?>
- ;
- }
- ?>
-
-
複製程式碼
|