PHPでは、ファイルのハッシュ値を生成することは、特にアップロード、ダウンロードの検証、およびデータの整合性の検証の場合、一般的な操作です。 MD5_FILE()関数は、ファイルのMD5ハッシュ値を迅速に計算する簡単な方法を提供します。
MD5_FILE()は、指定されたファイルのMD5ハッシュ値を計算し、32ビットヘキサデシマル文字列を返すPHPの組み込み関数です。その基本的な使用法は次のとおりです。
string md5_file ( string $filename [, bool $binary = false ] )
$ filename :ハッシュを計算する必要があるファイルパス。
$ binary :元のバイナリ形式を返すかどうか(デフォルトはfalseで、16進文字列を返します)。
MD5値をすばやく取得したいファイルがあるとしたら、次のように書くことができます。
<?php
$file = '/path/to/your/file.txt';
$hash = md5_file($file);
echo "提出MD5ハッシュ値はです: " . $hash;
?>
ファイルが大きい場合、 md5_file()はストリーム方法でファイルを自動的に読み取り、一度に大量のメモリをロードすることを避けます。これはより効率的です。
ファイルをアップロードまたはダウンロードした後、ファイルが改ざんされていないことを確認するために、 MD5_File()を使用して、予想されるハッシュ値を比較できます。
<?php
$expected_hash = 'd41d8cd98f00b204e9800998ecf8427e'; // 期待されるMD5価値
$file = '/path/to/your/file.txt';
$actual_hash = md5_file($file);
if ($actual_hash === $expected_hash) {
echo "ファイル検証が渡されました,ファイルはそのままで、解除されています。";
} else {
echo "ファイル検証に失敗しました,ファイルに改ざんされる場合があります。";
}
?>
ネットワークを介してダウンロードされたファイルを確認する必要がある場合があります。ファイルがhttp://m66.net/files/sample.txtに保存されていると仮定すると、ファイルをローカルに保存してから、 md5_file()を使用してハッシュ値を計算できます。
<?php
$url = 'http://m66.net/files/sample.txt';
$temp_file = '/tmp/sample.txt';
// ファイルをダウンロードします
file_put_contents($temp_file, file_get_contents($url));
// 計算しますMD5
$hash = md5_file($temp_file);
echo "下载提出MD5ハッシュ値はです: " . $hash;
// 一時ファイルを削除します
unlink($temp_file);
?>
MD5_FILE()は、ファイルMD5ハッシュを計算するための便利なツールであり、ほとんどのファイル検証シナリオに適しています。
ファイルのダウンロードと組み合わせて、最初にリモートファイルを保存してから計算できます。
ハッシュ値を比較することにより、ファイルの整合性とセキュリティをすばやく判断できます。
MD5_FILE()関数を使用すると、ファイル処理中のデータセキュリティを効果的に改善でき、PHPファイル操作において不可欠な実用的な機能です。