2010-12-18 5 views
1

md5_fileを使ってPHPでリモートファイルのチェックサムを取得した場合、ファイルをダウンロードしてチェックサムを取得するか、リモートサーバーからチェックサムを要求しますか?基本的に私が把握しようとしているのは、ファイルを再ダウンロードする前にファイルが変更されているかどうかを確認するためにファイルのMD5チェックを実行する帯域幅がそれよりも小さい場合ですが、md5_fileがファイルをtempの場所にダウンロードすると、チェックして、私はちょうどまっすぐにファイルをダウンロードするかもしれないとにかく、とにかく?md5_fileはチェックサムを取得しているファイルをダウンロードしますか?

+2

はい、ハッシュするためにファイルを取得する必要があります。そして、私はおそらく単にファイルを取得するだろう。 –

+0

言い換えれば、はい。 –

答えて

3

Wodinsで展開する答え:リモートファイルに対してHEADリクエストを発行すると、帯域幅が狭くなります。 Webサーバーの応答には、通常、ヘッダーの形式のハッシュが含まれます(ETag)。用途:

$h = get_headers($remote_file, true); 
$hash = $h["ETag"] or $hash = $h["Last-Modified"]; 

例としてはhttp://php.net/manual/en/function.get-headers.phpを参照してください。

3

はい、はいです。あなたがおそらく代わりに行うべきことは、タイムスタンプがあなたが指定した時間よりも新しい場合にのみ、あなたにファイルを送る「変更後の」要求です。私はあなたがPHPでそれをどうやって行うのか分かりません。

1

はい、実際にファイルをダウンロードします。

関連する問題