[PHP-users 1444] Re: ファイルのダウンロード

f.t. php-users@php.gr.jp
Thu, 23 Aug 2001 18:10:15 +0900


fujiyamaです

On Thu, 23 Aug 2001 16:58:32 +0900 (JST)
Teraoka Yoshinori <yteraoka@dti.ad.jp> wrote:

> > やりたいことは、あるファイルをダウンロードしたいのですが、
> > 「そのファイルがダウンロードされたかどうか」を判断したいのです。
> 
> Apacheのログをgrepってのはやっぱりダメ?

FreeBSD4.2
Apache-1.3.19
ですが、
ApacheのログにはIEのダイアログで実際にダウンロードしたかキャンセルしたか
に関係なく、ファイルを全て送ったものとした記録が残ります。
ダイアログでダウンロードする方をクリックしても新たなログは残りません。

実験環境の転送速度が速い&大きいファイルを置いて実験するスペースがないの
で、転送を途中中止した際の挙動がイマイチ分からないのでなんですが、
勝手に以下のような仮説をたてました(多分間違ってそう)、

サーバから送信
↓
ローカルでメモリかどっかで受け取り、同時にブラウザがダイアログを出す
Apacheでは実際に送信したバイト数をログに残す
↓
ブラウザで保存OKにしたら、受信している分をファイルに保存(&まだ受け取っ
ていないものはストリーミング?)

これだとダイアログを出している間中データ転送があるということで嘘っぽいで
すね。

すると、
Apacheのログの取り方の問題で、IEがOKと返したので、全てのバイトを送信した
ことにしている

もしこうならApacheログから、ファイルがIEでダウンロードされたかどうかを厳
密に確認はできないですね。(IEを「保存します」のクリックでサーバにリクエ
ストを飛ばすように改造(=不可)したらできるだろうけど)


間違ってたら突っ込みください。

いつもご迷惑かけます。 
f.t. <fujiyama@pc.mycom.co.jp>