输出后关闭标题

时间:2013-05-07 19:48:25

标签: php cakephp header cakephp-2.3

    header('Content-type: text/csv');
    header('Content-Disposition: attachment; filename="file.csv"');

    echo "blabla";

    $Email = new CakeEmail();
    $Email->from(array('no-reply@something.com' => 'Something'));
    $Email->to($email);
    $Email->subject('Something');
    $Email->send($textEmail);

如何在发送电子邮件之前输出并提供文件下载?可能吗?或者我必须自己创建一个临时文件?如果我不发送电子邮件,它就有效。

1 个答案:

答案 0 :(得分:1)

一种解决方案可能是:

  1. 创建文件并将其保存到临时位置
  2. 使用附件发送电子邮件(使用您在问题中发布的代码)
  3. 使用低级PHP方法将文件内容写入HTTP流(see this answer
  4. 最后,删除临时文件
  5. 我认为根据您发布的代码的外观,您几乎就在那里,只需对订单进行排序。

    我希望这会有所帮助。