php - 使用php下载文件时无法浏览网站

标签 php download while-loop

我使用此代码下载文件

$file='test.mp3';
$download_rate = 50;//50 kb/s

if(file_exists($file) && is_file($file))
{
header('缓存控制:私有(private)');
header('Content-Type: application/octet-stream');
header('内容长度:'.filesize($file));
header('Content-Disposition: filename='.$file);

冲洗();
$file = fopen($file, "r");

而(!feof($文件))
{
//将当前文件部分发送到浏览器
打印 fread($file, round($download_rate * 1024));
//刷新内容到浏览器
冲洗();
//休眠一秒
sleep (1);
}
fclose($文件);
}
别的 {
echo '找不到文件';
}

但是在下载文件时无法浏览该站点,直到下载完成。这发生在 IE 和 Firefox 上

有什么答案吗?

最佳答案

只有当你有尚未编写的 session 时才会发生这种情况。
我在这里看不到任何 session ,所以我不确定是什么原因造成的。
但是,大多数 php 下载文件脚本都用于检查登录,所以我猜是这种情况。
如果您确实有 session ,请尝试 session_write_close();

关于php - 使用php下载文件时无法浏览网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5501967/

相关文章:

php - 使用Google-YouTube API PHP将视频上传到YouTube时如何设置高级设置

amazon-web-services - 从亚马逊下载数据集

php - 在 PHP 中使用 cURL 下载大文件 - 页面挂起

php - 在 php while 循环中重复

java - 如何将用户输入的数字(学生 ID)拆分为公式

php - 如何将 WordPress 帖子循环分成两列?

php - 在 wordpress 的帖子上不显示作者、类别和日期

php - 如何使用 javascript 获取和显示 youtube 视频列表

php - mysql/php随机

Android 下载管理器。COLUMN_TOTAL_SIZE_BYTES 在状态运行期间返回 -1