php header实现下载 下载时页面上的其它链接不能打开 必须先下载完或停止下载
时间:2011-12-07
来源:互联网
如题
php header实现下载 下载时页面上的其它链接不能打开 必须先下载完或停止下载
而且 不能同时下载多个 只能下载一个接着再另一个
这是啥问题啊
怎么解决啊
$sw = new software();
$software = $sw -> GetSoftwareById($_REQUEST['software_id']);
$filename = basename($software->software_download_url); //取文件名
$pathinfo = pathinfo($filename);
$extension = $pathinfo['extension']; //取得扩展名
$filenewname = $software->software_name.'-'.$software->software_version.'.'.$extension;
$filesize = filesize($software->software_download_url);
if(ob_get_length() !== false) @ob_end_clean(); //清除以前的缓冲
header('Cache-control: private');
header("Content-Description: File Transfer");
header("Content-Transfer-Encoding: binary");
header('Content-type: application/force-download');
header('Content-Disposition: attachment; filename="'.$filenewname.'";');
header('Content-length: '.$filesize);
$file = @fopen($software->software_download_url,"rb");
$times = (100 * 1024)/8192;
while (!feof($file)) {
$i = 0;
while($i < $times){
echo fread($file, 8192);
$i =$i+1;
}
unset($i);
ob_flush();
flush();
sleep(1);
}
php header实现下载 下载时页面上的其它链接不能打开 必须先下载完或停止下载
而且 不能同时下载多个 只能下载一个接着再另一个
这是啥问题啊
怎么解决啊
$sw = new software();
$software = $sw -> GetSoftwareById($_REQUEST['software_id']);
$filename = basename($software->software_download_url); //取文件名
$pathinfo = pathinfo($filename);
$extension = $pathinfo['extension']; //取得扩展名
$filenewname = $software->software_name.'-'.$software->software_version.'.'.$extension;
$filesize = filesize($software->software_download_url);
if(ob_get_length() !== false) @ob_end_clean(); //清除以前的缓冲
header('Cache-control: private');
header("Content-Description: File Transfer");
header("Content-Transfer-Encoding: binary");
header('Content-type: application/force-download');
header('Content-Disposition: attachment; filename="'.$filenewname.'";');
header('Content-length: '.$filesize);
$file = @fopen($software->software_download_url,"rb");
$times = (100 * 1024)/8192;
while (!feof($file)) {
$i = 0;
while($i < $times){
echo fread($file, 8192);
$i =$i+1;
}
unset($i);
ob_flush();
flush();
sleep(1);
}
作者: wlinkj 发布时间: 2011-12-07
我也不明,帮你顶上去。
作者: success1000 发布时间: 2011-12-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28