9

ファイルのダウンロードのリクエストを処理する php ページがあります。ファイルが正常にダウンロードされたことを検出できる必要があります。これはどのように行うことができますか?おそらく、このクライアント側を検出し、確認をサーバーに送信する何らかの手段があるでしょう。

ありがとう。

編集:ハンドルとは、ページが次のようなことをしていることを意味します:

$file = '/var/www/html/file-to-download.xyz';
  header('Content-Type: application/octet-stream');
  header('Content-Length: ' . filesize($file));
  header('Content-Disposition: attachment; filename=' . basename($file));
  readfile($file);
4

2 に答える 2

11

別の php スクリプトでダウンロードを処理します (この質問readfile($file);のように、ダウンロードを再開する機能を提供することもできます)。次に、このスクリプトで最後のブロックを読み取って送信すると、すべてのファイルが送信されたことがわかります。これは、すべてが受信されたことを知ることと同じではありませんが、ほとんどのシナリオでは十分です。

于 2008-10-11T20:48:28.993 に答える
4

Trebが言ったことですが、connection_status()を使用して、ダウンロード中にクライアントがまだリッスンしているかどうかを確認できることを付け加えておきます。

flush()クライアントにデータを書き込んだ後は、接続がまだ確立されているかどうかを検出するのに役立つことを忘れないでください。

于 2008-10-12T23:02:45.010 に答える