[英]application/octet-stream blocks browser
我已经编写了一个小型下载门户,并使用application / octet-stream下载文件。
function fu($filename)
{
header("Content-Type: application/octet-stream");
$save_as_name = basename($filename);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
readfile($filename);
}
当我下载大文件时,在下载完成之前无法浏览目录树。
有没有机会并行执行此操作?
您可能正在使用会话。 当您在正在忙于下载的窗口A中打开会话时,窗口B将无法获取任何页面,因为服务于A的PHP进程仍具有打开/锁定的会话数据,并且B正在等待释放该锁。
一种简单的解决方案是在调用readfile()
之前的某个时刻调用session_write_close()
readfile()
。 这会将会话提交到服务器上的磁盘,将其关闭,然后释放锁,以便其他PHP进程可以将其备份。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.