PHP 下载时网页无法执行其他动作

WBOY
풀어 주다: 2016-06-23 14:12:21
원래의
767명이 탐색했습니다.

PHP 服务器 Buffer

我有一个页面是下载的,代码如下
Header ( 'Cache-Control: no-cache, must-revalidate' );
Header ( 'Content-type: application/octet-stream' );
Header ( 'Accept-Ranges: bytes' );
Header ( 'Content-Length:'.$this->_filesizebytes );
Header ( 'Content-Disposition: attachment; filename="'.$this->_filename.'"' );
$file = fopen ( $this->_fileFullPath, "r" );
$buffer = round(1024);
while ( ! feof ( $file ) ) {
  echo fread ( $file, $buffer );
  flush();
}
fclose ( $file );
问题是当我执行下载的同时再做其他动作的时候,就会停止响应,然后等文件下载完毕后再执行操作,在本地或者远端服务器都是这样,请问这是为什么呀?
谢谢

回复讨论(解决方案)

如果没有使用 session 应该不会出现你说的现象

;
问题是当我执行下载的同时再做其他动作的时候,就会停止响应,然后等文件下载完毕后再执行操作

其他动作是指?停止响应的是那方?

代码没贴全,多半在session上。如此保密。我就不说透了。

没什么可保密的,我的程序是点击一个文件链接,然后通过JS 把一个 FORM 提交,FORM提交的网页就是下载页,也就是上面我贴出来的东西,当然,下载页是有 session 的
请问为什么使用 session 会是网页停止响应呢?


;
问题是当我执行下载的同时再做其他动作的时候,就会停止响应,然后等文件下载完毕后再执行操作

其他动作是指?停止响应的是那方?
就是比如我的页面有个按钮通过AJAX添加联系人,就没响应,或者点击回首页也没响应

是不是由于我的下载页有SESSION, 会阻止其他session的调用呀

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿