首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >下载文件时出现问题

下载文件时出现问题
EN

Stack Overflow用户
提问于 2009-02-23 17:23:11
回答 4查看 1.7K关注 0票数 1

我编写了一个脚本来强制从站点下载mp3文件。代码运行得很好,但问题是它不能下载大文件。我尝试了一个9.21mb的文件,它下载正确,但每当我尝试使用代码下载一个25mb的文件,它只是给我一个无法找到服务器页面或网站无法显示该页面。所以我现在知道它在下载大文件时遇到了问题。下面是下载文件的代码片段。

代码语言:javascript
运行
复制
header("Pragma: public");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);             
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=\"".$dname.".mp3\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($secretfile));
$downloaded=readfile($secretfile);  

显示的错误是: HTTP 500内部服务器错误

非常感谢你们抽出时间,各位。

EN

Stack Overflow用户

发布于 2009-02-23 18:00:00

试试这个:

代码语言:javascript
运行
复制
// empty output buffer
while (ob_get_level()) {
    ob_end_clean();
}
if (ini_get('output_buffering')) {
    ini_get('output_buffering', false);
}

// function to encode quoted-string tokens
function rfc2822_quoteString($string) {
    return '"'.preg_replace('/[^\x00-\x0C\x0E-\x21\x23-\x5B\x5D-\x7F]/', '\\\$0', $string).'"';
}

// HTTP headers
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.rfc2822_quoteString($dname.'.mp3'));
header('Content-Length: '.filesize($secretfile));

// send file
readfile($secretfile);
exit;
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/578507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档