我正在尝试创建一个允许用户下载文件的功能。当我单击按钮下载文件时,会调用此函数,我收到“无法修改标题信息 - 标题已经发送”错误。
据我所知,“已发送的标头......”错误是由空格引起的,但我似乎找不到任何东西。有什么我没有考虑到的吗?这不是它所在页面上唯一的功能。我是否必须以特殊方式加载页面?
function serveFile($fileID){
$sql = mysql_query("select filename from files where id = '$fileID'");
$file = mysql_fetch_array($sql);
header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="'.$file['filename'].'" ');
readfile('/user_files/'.$fileID.' ');
}
更新 - 我得到了它的工作,感谢您的提示。我将函数调用移到了页面顶部。
答案 0 :(得分:2)
检查HTML文件中是否有空格。
在开始为这个问题吐出标题之前,只需要一个空格。
有关详细信息,请参阅此页: How to fix "Headers already sent" error in PHP