ユーザーがファイルをダウンロードできる機能を作成しようとしています。ボタンをクリックしてファイルをダウンロードすると、この関数が呼び出され、「ヘッダー情報を変更できません - ヘッダーは既に送信されました」というエラーが表示されます。
私が知っていることから、「ヘッダーは既に送信されました...」エラーは空白が原因ですが、何も見つからないようです。私が考慮していないことがありますか?これは、それが配置されているページ上の唯一の機能ではありません。ページを特別な方法でロードする必要がありますか?
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.' ');
}
更新 - ヒントをありがとう。関数呼び出しをページの上部に移動しました。