我编写了一个脚本来强制从站点下载mp3文件。代码运行得很好,但问题是它不能下载大文件。我尝试了一个9.21mb的文件,它下载正确,但每当我尝试使用代码下载一个25mb的文件,它只是给我一个无法找到服务器页面或网站无法显示该页面。所以我现在知道它在下载大文件时遇到了问题。下面是下载文件的代码片段。
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内部服务器错误
非常感谢你们抽出时间,各位。
发布于 2009-02-23 17:32:10
这可能是内存限制,但通常PHP会输出一个错误,说明已达到内存限制。
此外,在此之前,如果启用了输出压缩,则应禁用它:
if(ini_get('zlib.output_compression')) {
ini_set('zlib.output_compression', 'Off');
}如果启用了输出压缩,IE有时会搞砸。
发布于 2009-02-23 17:30:42
查看PHP配置中的内存限制和超时
在php.ini中:
memory_limit = 32M
max_execution_time = 300请注意,如果您想要获得更高的执行时间,您还需要更改web服务器超时。
发布于 2009-02-23 17:35:46
我只是给了我一个找不到服务器的页面,或者网站无法显示该页面
这是Internet Explorer显示的错误吗?您是否收到任何服务器端错误?你检查你的服务器日志了吗?
https://stackoverflow.com/questions/578507
复制相似问题