PHP サーバーバッファ
ダウンロードするページがあります。コードは次のとおりです
Header ( 'Cache-Control: no-cache, must-revalidate' );
Header ( 'Content-type: application/octet-stream' );
ヘッダー ( 'Accept-Ranges: バイト' );
ヘッダー ( 'Content-Length:'.$this->_filesizebytes );
ヘッダー ( 'Content-Disposition:attachment; filename="'.$this- > _filename.'"' );
$file = fopen ( $this->_fileFullPath, "r" );
$buffer =round(1024);
while ( ! feof ( $file ) ) {
echo fread問題は、ダウンロード中に他のアクションを実行すると応答が停止し、ファイルがダウンロードされるまで待機することです。操作を実行すると、ローカルサーバーまたはリモートサーバーでこのようになります。これはなぜですか?
ありがとうございます
ディスカッションに返信(解決策)
セッションを使用しない場合、あなたが言及した現象は発生しないはずです
問題は、ダウンロードの実行中に他のアクションを実行すると、応答が停止しますので、ファイルがダウンロードされるまで待ってから操作を実行してください
その他のアクションは何ですか?どの当事者が応答を停止しましたか?
コードは完全には投稿されていません。大部分はセッション内にあります。そんな秘密主義。詳細には触れません。
私のプログラムは、ファイルのリンクをクリックして、JS を介して FORM を送信することです。もちろん、これがダウンロード ページです。ページにセッションがあります
セッションを使用しているときに Web ページが応答を停止する理由を聞いてもいいですか?
;
問題は、ダウンロードの実行中に他のアクションを実行すると応答が停止し、操作を実行する前にファイルがダウンロードされるまで待機することです。どの当事者が応答を停止しましたか?
たとえば、AJAX 経由で連絡先を追加するボタンがページにある場合、応答がないか、クリックしてホームページに戻ると応答がありません
ダウンロード ページに SESSION があるためでしょうか。他のセッションコール