PHPを使用してファイルをダウンロードする-一度に1つだけダウンロードしてください!

StackOverflow https://stackoverflow.com/questions/1610168

  •  05-07-2019
  •  | 
  •  

質問

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

コードをダウンロード

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
役に立ちましたか?

解決

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

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

  • ブラウザがサーバーへの複数の接続を開かず、単一の接続を再利用するため、最初のリクエストが完了するまで待たなければならないその他のHTTPの問題。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top