2009-10-23 162 views
0

我有一个脚本,可以让用户下载文件(做一个BIN2HEX后存储在BLOB字段())脚本不终止立即

 
function hex2bin($h){ ... } 
// code to get $filecontent,$filesize,$uploadname from database 
header('Content-Description: File Transfer'); 
header('Content-Type: application/octet-stream'); 
header("Content-Length: $filesize"); 
header('Content-Disposition: attachment; filename="'.$uploadname.'"'); 
echo hex2bin($filecontent); 

一切工作正常,除了浏览器正在3到 下载文件后最后终止http会话。

任何线索是什么造成的。

谢谢。 Pari

+0

你可以检查内容长度是否正确出来 – Greg 2009-10-23 08:45:30

+0

您是否尝试过发送Connection:close header? – svens 2009-10-23 08:51:26

+0

感谢格雷格和斯文斯 事实证明,我正在做一个ob_start(“ob_gzhandler”)在一个包含文件,这是造成延迟。 我把它关掉了,现在下载脚本工作正常。 感谢帮助的人。 – Pari 2009-10-23 09:09:02

回答

0

可能是“从数据库中获取$ filecontent,$ filesize,$ uploadname”的代码是问题所在。显示它

1

原来在其中一个包含文件中存在ob_start(“ob_gzhandler”) 。删除它解决了这个问题。

谢谢大家。 Pari