PHP のダウンロード中、Web ページは他のアクションを実行できません

WBOY
リリース: 2016-06-23 14:12:21
オリジナル
767 人が閲覧しました

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 があるためでしょうか。他のセッションコール

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート