2

ファイルを提供するPHPファイルがありますが、問題は、使用しているブラウザーに関係なく、2つの別々のファイルに移動する2つのリンクをクリックすると、最初のダウンロードが完了するまで2番目のダウンロードが開始されないことです。 !!何か案は?

コードをダウンロード

header('Content-Type: application/octet-stream');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($fullpath));
readfile($fullpath);

リンクの例

  • リンク1:download.php?downloadfile = 1
  • リンク2:download.php?downloadfile = 2
4

1 に答える 1

5

これにはさまざまな理由が考えられます。

  • セッションを使用しています。そのため、一度に1つのスクリプトのみがセッションを変更できます。したがって、ダウンロードBは、ダウンロードAが終了した後にのみ開始できます。ブラウザAのダウンロードAとブラウザBのダウンロードBと同時に2つのダウンロードを試しましたか?session_write_closeの説明を確認してください

  • ブラウザがサーバーへの複数の接続を開かないが、単一の接続を再利用する他のHTTPの問題。もちろん、その方法では、最初の要求が終了するまで待機する必要があります。

  • 合計またはホストごとに非常に限られた数のオープン同時接続のみを許可する一部のOS/Webサーバー設定

于 2009-10-22T22:01:36.303 に答える